symfony1.1.4使ってみた

symfony1.0系は使ったことあるけれど、1.1系はどんなもんだろう?ってことで今度はsymfony
ホント広く浅くな性格だな。


コマンドが一新されててカッコイイのはいいけれど、zshで関数補完が使えなくなってしまった。
どこかに1.1用あるのかな?

AliasMatchでアクセス制御

公開領域(index.php, css, js等)と本体を分けたいな、プロジェクトの度にAlias書くのめんどくさいな、
Aliasを正規表現で書けないのかしらと思ってたら、AliasMatchなるものがあった。

AliasMatch ^/symfony/[^/]+/[^/]+/sf/(.*) /usr/share/pear/data/symfony/web/sf/$1
AliasMatch ^/symfony/([^/]+)/([^/]+)/(.*) /home/$1/sfprojects/$2/web/$3

これで、
http://localhost/symfony/takitake/askeet/index.php なら、takitakeのaskeet
http://localhost/symfony/hogehoge/askeet/index.php なら、hogehogeのaskeet
振り分けられる。
ただ、コントローラー名が省略できなくなってしまった。
AliasMatchはURLの一部だけ書き換えできないみたい。

そもそも

ガイドブックの19章に丁寧に書いてあったよ。
翻訳版
またこのパターンかorz

公開領域もバージョン管理

public_html下にwebフォルダだけチェックアウトすれば、一括管理できていいんじゃないかな。

/home/takitake/askeet
askeet
|-- apps
|-- batch
|-- cache
|-- config
|-- data
|-- doc
|-- lib
|-- log
|-- plugins
|-- test
`-- web
    |-- css
    |-- images
    |-- js
    `-- uploads

/home/takitake/public_html
web
|-- css
|-- images
|-- js
`-- uploads

追記

公開領域からシンボリックリンク張ったほうが経済的ですね。
/usr/share/pear/data/symfony/web/sf にも張ると、アパッチへの記述量減っていい感じ。

ln -s /home/takitake/askeet/web/css /home/public_html/web/css
ln -s /home/takitake/askeet/web/images /home/public_html/web/images
ln -s /home/takitake/askeet/web/js /home/public_html/web/js
ln -s /home/takitake/askeet/web/uploads /home/public_html/web/uploads
ln -s /usr/share/pear/data/symfony/web/sf /home/public_html/web/sf