わーくあうと!

日々の作業でためになったことをアウトプットすることで自分の成長につながればなと。

symfonyを動かす

ここ(http://www.symfony.gr.jp/docs/symfony1-docs/gentle-introduction/ja/03-running-symfony)見ながらhogeってみたので備忘録として今回やったことメモメモ。

  • 環境について

自分の環境は、設定が面倒だったのでXAMPPぶっこんだ。ここではあくまでsymfonyを動かしてみる事が目標だからいいやと思って。ただmysqlはXAMPP付属のモノじゃなくて自前のを以前入れたのでそれ使う予定。

  • プロジェクト作成

プロジェクトの置き場所は/Users/username/apwork/hoge

http://www.symfony-project.org/installation から最新の安定版をダウンロード&解凍して名前をsymfonyに変更。その後hogeディレクトリ下に【lib/vendor】を作成しそのなかに先程のsymfonyフォルダを移動。
svnで落としてくるのを推奨してたがなんか今回はgitを使ってみたいと思ってるのでパス。
この時点でこんなフォルダ構成
hoge/lib/vendor/symfony

ここからはsymfonyのバッチ処理祭り。

プロジェクト作成

$ php lib/vendor/symfony/data/bin/symfony generate:project hoge

データベース設定.第三引数はパスワード。↑のコマンド実行でhogeフォルダ直下にlib/vendor/symfony/data/bin/symfonyエイリアスが作られるのでここからはphp symfonyでおk.

$ php symfony configure:database "mysql:host=localhost;dbname=hoge" root 0000

アプリケーション作成。frontendはアプリケーション名。symfonyはプロジェクト内で複数アプリケーションを作成できるみたい。ユーザーに見せる通常のページ(frontend)と管理ページのようなモノ(backend)を綺麗に分けられそうでいい感じ。

$ php symfony generate:app frontend

パーミッション設定。symfonyがcacheやlogディレクトリに書き込めるように。自動で設定してくれるんだね。

$ php symfony project:permissions
  • WEBサーバーの設定

WEBサーバーはDocumentRootにプロジェクトごとにフォルダおいてlocalhost/projectname/とかでアクセスしてればよくねーって思ったりもしたけど、ちょっとカッコ悪いのでプロジェクトごとにVirtualHost設定してhostsファイルにwww.projectname.localhostみたいなドメインを127.0.0.1に向かせるように設定する方針で。
httpd.confの最終行に下記を追加。(プロジェクトへのパスとServerNameは適宣変更)

NameVirtualHost 127.0.0.1:80

  ServerName www.hoge.localhost
  DocumentRoot "/Users/username/apwork/hoge/web"
  
    AllowOverride All
    Allow from All
  

  Alias /sf /Users/username/apwork/hoge/lib/vendor/symfony/data/web/sf
  
    AllowOverride All
    Allow from All
  

自分のXAMPP環境では【/Applications/XAMPP/xamppfiles/etc/httpd.conf 】にあった。管理者じゃないと編集できない事を忘れてReadOnryで開いてがつがついじって保存できなかったという事を3回ぐらいしてしまった。

あとはhostsファイルにこの一行追加。(/etc/hosts)

127.0.0.1 www.hoge.localhost

ふぅ。あとはhttp://www.hoge.localhost/ でそれっぽいものが表示されてればおっけー

  • 最後に

要するに大したことしてないんだけどすごく大変だった。何が大変かっていちいちブログにやったことを書いているのが大変。まぁ今書きたい気分だから書きなぐってるだけなんだけど。学びたかったら本家チュートリアルを普通に読み進めるようが分かりやすいし為になるしでそっちのほうがオススメ。となるとこの文章をわざわざネットに公開する意味があるのかと8割ぐらい書いたところで疑問に思ってきた。

ファッキングじーちゃん!