ブログ形式のHPにリニューアルしましたので、少しずつ社内の開発体制を紹介させて頂きます。

弊社ではPHPでの開発を行う際は Zend Framework を使った開発を行っております。
Zend Framework は PHP の開発元である Zend Technologies 社が開発したフレームワークです。

head-bottom-picture

弊社のフレームワーク採用基準は如何に美しいコードを書けるかという事を念頭に置いています。
Zend Framework は、基本的に全てがクラスとしてモジュール化されています。

Cake PHP2 や Laravel のように少ないコードでの開発よりも、型重視、IDEで全てコード補完が出来る、いわゆる JAVA開発に近いスタイルで開発を進めて行く事が出来ます。

Zend Framework のバリデータ定義の例

$validator = new Validator\NotEmpty();
$validator->addValidator(new Validator\Alnum());

if (!$validator->isValid($input)) {
    $errors->append($validator->getMessages());
}

Cake PHP2 のバリデータ定義の例

class User extends AppModel {
    public $validate = array(
        'login' => 'alphaNumeric',
        'email' => 'email',
        'born'  => 'date'
    );
}

一見CakePHPの方が実装は早そうですね。実際、CakePHPの方が実装が断然早い内容です。

制作会社は安く早く仕事を行う事が利益に繋がります。
実装だけを考えれば CakePHP に軍配が上がりそうですが、我々は連想配列重視の開発は危険だと考えています。

本ケースのように単純なデータエンティティは稀であり、大規模なシステムになればデータ型同士が複雑に密接に関係します。
そんな時、連想配列のように IDE で管理できない実装の仕方は潜在的、見つけにくいバグを産む原因になると、
多くの開発経験から学んでおります。

どうでも良い事ですが。。。何故、Zend Framework は象のイメージなのか?
Zend Frameworkの開発元である Zend社はPHP開発元です。
PHPの文字を崩していくと、象の絵に近くなるという噂があります。(真偽不明)

07