めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

symfony 1.4を試してみた(2)

前回、「symfony 1.4を試してみた - めも帖」でsymfony 1.4をインストールしてみました。インストールしただけでは、symfonyの理解が進みません。そこで、日本Symfonyユーザー会が用意している「日本Symfonyユーザー会」を試してみる事にしました。

インストール時の気づき

試してみたのですが、インストールについて衝撃な事が...「pearでのインストールは、推奨されていません」とか。うすうす気づいていたんですが、PHPpearという存在が薄くなっている気がします。CakePHPも、pearに依存しない、というのが売りの一つになるぐらいでしたから。

MySQLの話

MacPortsでインストールしたMySQL 5.1を利用しました。試してみてわかったんですが、そういえば日本語の設定が必要でした。
設定後の再起動もどうだっけ?と思ったので、調べてみました。

MacPortsでインストールしたMySQLの再起動
$ sudo launchctl stop org.macports.mysql5
$ sudo launchctl start org.macports.mysql5
設定後の言語設定
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | utf8                                    |
| character_set_connection | utf8                                    |
| character_set_database   | utf8                                    |
| character_set_filesystem | binary                                  |
| character_set_results    | utf8                                    |
| character_set_server     | utf8                                    |
| character_set_system     | utf8                                    |
| character_sets_dir       | /opt/local/share/mysql5/mysql/charsets/ |
+--------------------------+-----------------------------------------+
8 rows in set (0.08 sec)

MySQLへの操作

YAMLで定義されたテーブルについて、コマンド一つでMySQLに反映されます。また、データーもYAMLで定義して登録可能。便利なんだけれど、CakePHPの時は結局使わなかったという記憶があります。もしかしたら、便利な使い方があるのかも。テストデーターとか...

モデル

symfonyでモデルを生成すると、フォームクラスというのができます。このフォームクラスに、validatesを設定する事で、入力時のvaidateができるようです。この辺りは、CakePHPと違いますね。ただ、複数の種類のvalidatesを設定する場合どうするんだろう?あとエラー文が、そのまま書いてあるけれど、これもまとめて書いておきたいような

ビュー(view)

ここはCakePHPと似ています。helperがあるたりとか。あと、JavaScriptとの連携なども用意されています

ルーティング

これはYAMLで定義。

まとめ

こうして試してみると、敷居が高そうなイメージがあったsymfonyですが、敷居は若干低くなりました。
ただ、考えてみたらPHP5になれていない自分が見つかります。この辺りは、PHPでフレーム枠を使った事があります!というのでは、自分の経験が足りないように思いました。また、モデル、コントローラー、ビューとざっくり分かれている訳ではないようで、全体を理解するには、まだまだ時間がかかりそうな印象はあります。
やっぱり、jobeet(Page not found - Symfony)を試してみようと思いました。

日経ソフトウエア 2010年 07月号 [雑誌]

日経ソフトウエア 2010年 07月号 [雑誌]