symfony1.1のアーキテクチャ解説

Fabienさんによる図入りのアーキテクチャ解説が出てます。

symfony1.1では、クラスとクラスの間の依存関係が減らされて(decoupled)います。YAML操作とかForm処理、データベースアクセスやキャッシュなどのクラスはそれぞれが単体でも呼び出せるようになっていて、そのためには


require_once '/path/to/sfCoreAutoload.class.php';
sfCoreAutoload::register();

の2行を書くだけ。あとはsymfonyのオートローダがよしなにやってくれます。これらがsymfony プラットフォーム

真ん中の方の図にあるように、MVCフレームワークを構成しているクラス群は、symfonyプラットフォームのクラスを必要に応じて呼び出しているけれども、symfonyフレームワークのMVCを使わずに、symfonyプラットフォームの便利なクラスだけを使うこともできるし、使わないものは使わない、そう、YahooがDel.icio.us2.0でsymfonyは採用したけどpropelは採用しなかったように、柔軟に選択することができる、ということになります。

バージョン1.1では、クラス間の依存関係をZend Framework以上にde-coupleした、と言っています。

symfony is one of the most decoupled framework available in PHP, even more than the Zend Framework

Zend Frameworkと比べ、いやいや、たとえば、symfony1.1のsfFormは、ビューやコントローラから切り離しにくいZend_Formよりも、より単独でMVCを絡ませずに使うこともできる、ということです。

コメントを残す

メールアドレスが公開されることはありません。