PDOのエラー処理3通りとは
- PDO::ERRMODE_SILENT PHP(デフォルト)
例外を発行せず、プログラムは続行 - PDO::ERRMODE_WARNING
例外を発行せず、メッセージも出力、プログラムは続行 - PDO::ERRMODE_EXCEPTION(PHP 8.0.0 以降では、デフォルト)
PDOException をスロー、例外を処理しない場合プログラムを停止
・Webサーバが保持しているセッションのデータを破棄する関数は
・変数保存用領域も破棄
・変数保存用領域も破棄
- session_unset
- session_destroy
PHPでどのエラーを報告するかを設定する構成ディレクティブは
error_reporting構成ディレクティブ
PHPで取り扱うことができる代表的なエラー5つとは
Parse Error | プログラムに構成上の問題がある | E_PARSE |
Fatal Error (致命的なエラー) | プログラムの内容に関わる重大の問題がある 発生した場合は処理を停止 | E_ERROR |
Warning | プログラムに疑わしい箇所がある | E_WARNING |
Notice (注意) | マナー違反のまま動作している | E_NOTICE |
Strict Notice (厳格注意) | コーディングスタイルについての注意 | E_STRICT |
PHP付属のデバッガとは
phpdbgデバッガ
ユーザ定義の例外ハンドラを設定する関数とは
(未補足の例外(try/catchブロックで例外をキャッチできない)場合に備えて)
(未補足の例外(try/catchブロックで例外をキャッチできない)場合に備えて)
set_exception_handler
PHPコードの単体テストを記述するツールは
PHPUnit
UNIX/Linux環境で全ユーザに対して実行権を追加するchmodコマンド
chmod a+x ファイル名
chmod ①②③ ファイル名
- u:所有ユーザ、w:所有グループ、a:全ユーザ
- +:権限を与える、-:権限を取り除く
- r:読み取り権、w:書き込み権、x:実行権
Packagistとは
代表的なComposerパッケージリポジトリ(インストール可能なパッケージの一覧)
phpコマンド 7
オプション名 | |
---|---|
-S | 組み込みサーバを開始 |
-h | コマンドのヘルプを表示 |
-m | PHPに組み込まれたモジュールを表示 |
-a | PHPを対話的に実行(PHP REPL) ※REPLとは 入力・評価・出力をできる対話型実行環境 |
-t | 組み込みWebサーバのドキュメントルートを設定 |
-d | 設定ファイル(php.ini)で設定ディレクティブにカスタム値を設定 |
-i | phpinfo()関数を実行し、PHPの設定情報を出力 |
php -S Webサーバ名:ポート番号
配列はスカラー変数に代入可能か
可能、スカラー変数を配列に代入も可能
このとき、古いデータ型から新しいデータ型に置き換わります
MySQLのデータソース名の構文とは
$dsn = "mysql:host={$host_name};port=8889;dbname={$db_name}";
/データベースへの接続
$db = new PDO('データソース名', 'ユーザ名', 'パスワード');
関数内でグローバル変数にアクセスする方法で、使用するグローバル変数格納している配列は
$GLOBALS
グローバル変数は通常、関数外部のみで有効になりますが、配列$GLOBALSは関数内でもアクセスが可能です。
$num1 = 30;
foo();
function foo() {
print $GLOBALS['num'];
}
<?php
1 {
//throw new 例外クラス名(引数)でインスタンスを作成
2(‘例外処理発生’); }
3(Exception $e) {
echo $e->4;
}
?>
1 {
//throw new 例外クラス名(引数)でインスタンスを作成
2(‘例外処理発生’); }
3(Exception $e) {
echo $e->4;
}
?>
- try
- throw new Exception
- catch
- getMessage()
1 ファイルの内容を読み込む ○○ (○○)
2 文字列をファイルに書き込む ○○(○○,○○)
2 文字列をファイルに書き込む ○○(○○,○○)
- file_get_contents (ファイル名)
- file_put_contents ( ファイル名 , 文字列 )
1 ファイルへの接続をオープン
○○(○○, ○○)関数
2 読み書き
○○()関数、○○()関数
3 ファイルをクローズ
○○()関数
○○(○○, ○○)関数
2 読み書き
○○()関数、○○()関数
3 ファイルをクローズ
○○()関数
- ファイルへの接続をオープン
fopen(ファイル名, ファイルのモード)関数 - 読み書き
fgets()関数、fwrite()関数 - ファイルをクローズ
fclose()関数
フレームワークLarabel、Symfony、Zend Frameworkのテンプレートエンジンは
※動的な処理プログラムと表示内容を記述したHTMLを別で管理する仕組みです
テンプレート(HTMLのひな型)を必要に応じて書き換えて画面に出力するライブラリ
※動的な処理プログラムと表示内容を記述したHTMLを別で管理する仕組みです
テンプレート(HTMLのひな型)を必要に応じて書き換えて画面に出力するライブラリ
Larabel Blade、
Symfony Twig、
Zend Framework PHP
php.iniの記述で
1 Webブラウザにエラーメッセージを表示するには
2 Webサーバにエラーログを送信するには
1 Webブラウザにエラーメッセージを表示するには
2 Webサーバにエラーログを送信するには
- display_errors構成ディレクティブを「On」
- log_errors構成ディレクティブを「On」
PHPUnitでアサーションメソッドの一つです。1つ目と2つ目の引数が一致しない場合にエラーを報告
assertEquals()
fopen()のファイルのモードで
1 元のファイルをクリアして上書きしたい場合
2 追加で書き込みしたい場合
1 元のファイルをクリアして上書きしたい場合
2 追加で書き込みしたい場合
- w(wb?)
- a(ab?)
curl_setopt 6
オプション | 値 |
---|---|
CURLOPT_RETURNTRANSFER | TRUEを設定すると、curl_exec()関数の返り値を文字列で返す |
CURLOPT_HEADER | TRUEを設定するとヘッダの内容も出力する |
CURLOPT_POST | TRUEを設定するとPOSTのリクエストを宣言する |
CURLOPT_POSTFIELDS | HTTP POST で送信するデーターを設定する |
CURLOPT_COOKIEJAR | ・TRUEを指定するとクッキーを追跡する ・ファイル名を指定すると指定のファイルにクッキーの情報が保存される |
CURLOPT_COOKIEFILE | クッキーのファイルを指定することでクッキーの情報を読み込む |