最近になって初めて知ったPHPの基礎のキソ

たまにPHPリファレンスサイトを読み返してみると、知らなかったような超基礎的なことがあるんですねえ。このへんてみんな知ってるような常識? 自分はつい最近まで知らなかったことをいくつか。

 

閉じるタグは省略可能

PHPのコードを書くには <?php ~ ?> の間に書く、というのが基本ですが、このうち終了タグってじつは省略可能です。require()文などで読み込まれるような1ファイルが丸ごとPHPコードのphpファイルの場合は、余計な末尾改行問題を回避するためにもむしろ終了タグ省略が推奨されていたり。

詳細:PHP: 命令の分離 - Manual

 

<script>型指定

PHPのタグというと、前述の <?php ~ ?> のほか、オプションで <? ~ ?> とか <% ~ %> とかが使えますが、このほかにさらに、
<script language="php">
    echo 'Hello World!';
</script>
なんてのも使えます。なんだかクライアントサイドで実行されそうな感じがしますが、他のPHPタグと同様にサーバサイドで処理されてからクライアントのブラウザにHTMLが送信されます。

詳細:PHP: HTML からの脱出 - Manual

 

memory_limitは古いバージョンではデフォルトOff

php.ini で、PHPのメモリ使用量上限値を指定するには memory_limit ディレクティブで指定します。また実行中のスクリプトのメモリ使用量を調べるには、memory_get_usage() があります。これらを利用するには、PHP5.2.1より前のバージョンでは、コンパイル時に --enable-memory-limit オプションをつけないと有効になりません。5.2.1以降だととくに意識せずとも利用できるようになります。

もし有効になっていない場合は、php.iniでメモリ上限を指定したつもりでも、とくにエラーにならずスルーされてしまうので気づきづらい。かなりタチが悪いです。

詳細:PHP: コア php.ini ディレクティブに関する説明 - Manual

 

リフレクション

PHP 5以降では、リフレクションが利用できます。関数とかクラスとか自身の情報が取得できます。フレームワーク的な部分を開発しようとするときなんかに、こういう手段を知ってると痒いところに手が届くかのように重宝しますね。

詳細:PHP: リフレクション - Manual

 

タイプヒンティング

PHPは数値型とか文字列型などが暗黙の型変換されまくりな言語ですが、PHP 5.1以降では、関数の宣言時に引数の型指定がじつはできます。ただしサポートは一部だけで、Object型と配列型のみ。intやstringなどは対象外なのが残念。とはいえうまく活用すれば可読性・保守性の高いコードが書けそうですね。
  public function test_array(array $input_array) {
    print_r($input_array);
  }

詳細:PHP: タイプヒンティング - Manual

 



« 携帯向けウェブサービスを作るときの6つのチェックリスト | メイン | ちなみに、 »

トラックバック

このエントリーのトラックバックURL:

コメントを投稿

about

平島浩一郎
株式会社マイネット・ジャパン



katy(ケイティ) - 携帯サイト作成無料CMS
newsing(ニューシング)
終電jp
まとめてブログ検索
あわせて読みたい

Powered by Movable Type
株式会社マイネット・ジャパン