PHP = PHP: Hypertext Preprocessor
メモ †
- 正直、私は嫌いな言語。Perl 同様、できれば使いたくない言語。
- 普及率では Perl の次と思われる。
- Perl と PHP しか使えないレンタルサーバーが(残念ながら)かなりある。
- 元々 Web 用に作られたので、そのあたりの親和性はよいのだが、言語体系、ライブラリともにあまりにやっつけ。デフォルトで基本部品がそろっていることはよいことだけど、それだけ。Perl のグダグダぶりよりはまだましというくらい。
echo を使うか、print を使うか †
- echo は引数を複数取る。print は引数を1つしか取らない。
- echo も print も関数ではなく言語構造である。定義上、括弧は不要。
- echo(式), print(式)とも書けるが、(式) == 式 だから。
- echo 式[, 式[, 式]] という構造なので、echo(式) は正当だが、echo(式, 式)は不当。
- echo は返り値を返さない(void)。print は返り値で成功(TRUE)、不成功(FALSE)を返す。
- よって print は式に混ぜて使える。(print の使い所はここくらい?)
($x==1) ? print "yes" : print "no";
f($x) || print "FAILED!";
Perl プログラマが気をつける点 †
- リスト代入 ($x, $y) = ... は list($x, $y) = ... とする。
- php.ini の short_open_tag = On になっていないと、<? ?> 形式のタグは認識されない。
- この機能を使うことで <?=$変数 ?> と書くことができて、ソースは短くできるのだが、Off になっているところではまったく動かせないという問題がある。つまり互換性の点でまったくダメ。使い物にならない仕様。公開するソース、流用するソースで使ってはならない。