🐤
パーフェクトPHP 第2章 PHPの言語仕様
パーフェクトPHP 第2章を読んで個人的に印象的だったor初めて知ったことのまとめ。
PHPブロック
PHPは開始タグ<?phpと終了タグ?>の中に記述する。
終了タグは省略可能であり、ライブラリやHTMLを含まないファイルの場合は、終了タグを記述しないことが推奨される。
これはPHPブロック以外は文字列として出力されるというPHPの仕様に起因する副作用を防ぐため。
<?php
echo '終了タグなしパターン'
なんとなくおまじないのように書いていたが、PHPブロック外が文字列として出力されるのは初めて知った。
コメント
1行コメントは//(C++), #(シェルスクリプト)行頭に書くことで可能。
ブロックコメントは/* */でできる。
//と/* */は知っていたが、#もいけるとは...
スーパーグローバル変数
変数名 | 意味 |
---|---|
$GLOBALS | すべてのグローバル変数への参照を持つ連想配列 |
$_SERVER | スクリプトのヘッダ、パスなどの情報を持つ連想配列 |
$_GET | 現在のスクリプトに渡されたURLパラメータの連想配列 |
$_POST | 現在のスクリプトにHTTP POSTで渡された変数の連想配列 |
$_FILES | 現在のスクリプトにアップロードされたファイルの情報を持つ配列 |
$_COOKIE | HTTPクッキーから渡された変数の連想配列 |
$_REQUEST | $_GET, $_POST, $_COOKIEをまとめた連想配列 |
$_SESSION | 現在のスクリプトで使用できるセッション変数 |
$_ENV | 現在実行されている環境変数の連想配列 |
たまにコードで見かけるので、改めてまとめてみた。$_GET, $_POST, $_COOKIEあたりは使ったことある。
マジック定数
マジック定数 | 意味 |
---|---|
FILE | ファイルのフルパスとファイル名 |
DIR | そのファイルの存在するディレクトリ名 |
LINE | そのファイル上の現在の行番号 |
FUNCTION | 関数名。宣言時の関数名を大文字小文字で区別して返す |
CLASS | クラス名。宣言時のクラス名を大文字小文字で区別して返す |
METHOD | メソッド名。宣言時のメソッド名を大文字小文字で区別して返す |
NAMESPACE | 現在の名前空間の名前 |
マジック定数という言葉が初耳。FILE, __DIR__はソースコード上で見かけたことがあったが、ずっと?だったためもっと早く知りたかった。
Discussion