« MT3.3でタグクラウド | メイン | The Sheep Market »

FrOSCon "PHP best practices"資料

ワールドカップで盛り上がるドイツで行われたPHPのワールドカップ(嘘)「FrOSCon」での”PHP best practices”と題されたスピーチの資料が公開されました。

PHP best practices - The dos and don'ts
http://talks.php.net/show/php-best-practices/
※カーソルの左右でページ移動できます(→ 進む / ← 戻る)

おおまかな内容はこんな感じ。

一般


  • typeセーフなコーディングをする

  • opentagには"<?php ?>"を使う

  • エラーレベルはE_STRICTにする

  • Exceptionはメモリリークを起こすことがあるので注意

  • デバッガを使う(Xdebugがオススメ)

  • コーディング規約に従う

  • ドキュメントを書く(phpDocumentor)

セキュリティ


  • ユーザからの入力を信頼してはいけない

  • ホワイトリストを使う

  • SQLでは、入力値はエスケープする、プリペアドステートメントを使う

  • ctype_*()やfilter_data()を使うと楽

  • 出力はエスケープする(htmlentities())

  • 不要な情報は隠す(phpinfo()をルートに置かない、display_errorsをoffに、expose_phpをoffに)

  • パーミッションを適切に設定する

  • magic_quotes_gpcをoffにする 場合に応じて適切なエスケープを行う

  • register_globalsはoffにする

  • Cookieには大事なデータを保存しない→Sessionの方が安全

パフォーマンス


  • PHPの内部関数が使える場合にはそれを使う(PHPで書かれた関数より速い)

  • シンプルな構文を使う(""の代わりに''、echo 'A'.'B'の代わりに echo 'A','B'、$i++の代わりに++$i)

  • クラスの用途を限定する(arrayで代用できるときはそうする、必要かどうかよく考える)

  • 多くのデータはキャッシュできる

  • 正規表現にはereg_*()ではなくpreg_*()を使う、適切な正規表現を用いる

  • コードキャッシュ(アクセラレータ)を利用する(APCなど)

  • プロファイリングを行い、ボトルネックを解消する(Xdebug、APD)

  • mod_gzipで出力を圧縮し、帯域を節約する

基本的な事項が多いですけど、まぁそれだけ重要ってことなんでしょうね。
プロファイリングには興味がありながらもまだきちんとやったことがないので今度試してみよっと。

トラックバック

このエントリーのトラックバックURL:
http://solvalou.net/mt/mt-tb.cgi/116

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2006年06月26日 11:33に投稿されたエントリのページです。

ひとつ前の投稿は「MT3.3でタグクラウド」です。

次の投稿は「The Sheep Market」です。

他にも多くのエントリがあります。メインページアーカイブページも見てください。

Powered by
Movable Type