タグ

ブックマーク / www.1x1.jp (4)

  • PHP 配列を回すならforかforeachか

    今日、社内で「PHPの配列をループで回すのにforを使うか、foreachを使うか」という話が面白かったので、メモ。 ここでいう配列はキーが数字で、0からの連番であることを想定してます。(キーが数字以外や連番で無い場合は、foreachを使います。) 例えば↓のようにDBテーブルからレコードを読み込んだ内容が入ってる場合、$listをループで回すならforとforeachのどちらを使うべきかという話です。 <?php $list = array(); $list&#91;&#93; = array('id' => 1, 'name' => 'hoge'); $list[] = array('id' => 2, 'name' => 'foo'); $list[] = array('id' => 3, 'name' => 'bar'); ?> for文派 <?php for ($i = 0 ;

    dhalmel
    dhalmel 2009/07/02
  • PHP_CodeSnifferを試してみる

    PHP_CodeSnifferはPHPのコードスタイルをチェックするツールです。0.1.0ではPEARのコーディング基準に適合するかどうかを確認できますので、いくつか試してみました。 まずは簡単にPHP_CodeSnifferの使い方から。 PHP_CodeSnifferを使う インストール pearコマンドでインストールするだけです。 $ pear install PHP_CodeSniffer-0.1.0 CLI環境ではPEARパッケージに含まれているphpcsコマンドでチェックができます。 使用例 まずありがちなサンプルファイルでチェックしてみます。チェックするソースは以下です。 < ?php class Hello { var $message = null; function __construct($message) { $this->message = $message; }

    dhalmel
    dhalmel 2008/09/18
  • PHP5.2.4ではPHPエラーでHTTP 500を返す

    via: Gregory Szorc’s blog – PHP Now Using Proper HTTP Status Codes on Error PHP5.2.4ではPHPエラーでHTTP 500 Internal Server Errorが返ってくるようにです。 PHP5.2.4RC3で試してみると、以下のような「Fatal Error」や「Parse Error」などスクリプトの実行が停止するようなエラーではHTTP 500が返ってきました。 <?php // Fatal Error: Call to undefined function a() a(); ?> <?php // Parse error: syntax error, unexpected '}' $f = true; if ($f) echo "a"; } ?> 例外投げてcatchしない場合も同じです。 <?p

    dhalmel
    dhalmel 2008/07/03
    コレダタノカー
  • CakePHP Modelに関する6つの誤解

    CakePHPのModelはActiveRecordライクなDBアクセス方法を提供しており、さらにアソシエーションを設定することにより複数テーブルの値を同時に操作できるなど、DB操作に対するインターフェイスが数多くあります。 ただ「手軽にDB操作ができる」という印象が先行しているゆえ誤解を招くことがあるようです。 1. クラス名に対応したテーブルしか操作できない Modelのクラス名とテーブルを自動でマッピングするのはフレームワークのいわば便利機能です。デフォルトでそのような動作をするだけで、容易に変更することができます。 Model#$useTableにテーブル名を指定すれば任意のテーブルを操作できます。 <?php class Foo extends AppModel { public $useTable = 't_user'; // t_userテーブル } ?> 2. DBを使わな

  • 1