最近 Ruby on Raisの勉強を始めました。そういえばSymfonyがものすごく途中で終わっていたのでテストプロジェクトであるaskeetをやり直すことにしました。
まずはaskeetプロジェクトの作成です。前回と同様に
Windows Vista + xampp + Eclipse
で開発していきます。
まずMySQLにaskeetユーザとデータベースを作っておきます。
user: askeet
pass: askeet
同時にaskeetデータベースを作成
コマンドプロンプトを開きます。
Microsoft Windows [Version 6.0.6000] Copyright (c) 2006 Microsoft Corporation. All rights reserved.
phpへのパスを通していないのでphpフォルダまで移動
C:\Users\makoto_kw>cd "c:\Program Files\xampp\php"
pear version
でバージョン確認。
symfonyを使うにはPEARのVersionが1.4.0以上 PHPのVersionが5.1.0が必要です。
c:\Program Files\xampp\php>pear version PEAR Version: 1.4.11 PHP Version: 5.2.1 Zend Engine Version: 2.2.0 Running on: Windows NT KWVRESEARCH1 6.0 build 6000
ok
次は
pear channel-discover pear.symfony-project.com
でパッケージを落とします。
c:\Program Files\xampp\php>pear channel-discover pear.symfony-project.com Adding Channel "pear.symfony-project.com" succeeded Discovery of channel "pear.symfony-project.com" succeeded
ok
次は
pear install symfony/symfony
でインストールします。
c:\Program Files\xampp\php>pear install symfony/symfony downloading symfony-1.0.6.tgz ... Starting to download symfony-1.0.6.tgz (1,905,514 bytes) ................................................................................ ................................................................................ ................done: 1,905,514 bytes install ok: channel://pear.symfony-project.com/symfony-1.0.6
ok
symfony -V
でバージョンが確認できます。
c:\Program Files\xampp\php>symfony -V symfony version 1.0.6
プロジェクトを配置するディレクトリに移動します。
c:\Program Files\xampp\php>cd C:\web\arcadia\askeet
symfony init-project askeet
でsymfony用プロジェクトを作成できます。
C:\web\arcadia\askeet>symfony init-project askeet 'symfony' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
失敗。一時的にphpフォルダにパスを通します。
C:\web\arcadia\askeet>Set PATH=%PATH%;"C:\Program Files\xampp\php"
再び
symfony init-project askeet
を実行
C:\web\arcadia\askeet>symfony init-project askeet >> dir+ C:\web\arcadia\askeet\apps >> dir+ C:\web\arcadia\askeet\batch >> dir+ C:\web\arcadia\askeet\cache >> dir+ C:\web\arcadia\askeet\config >> file+ C:\web\arcadia\askeet\config\config.php >> file+ C:\web\arcadia\askeet\config\databases.yml >> file+ C:\web\arcadia\askeet\config\propel.ini >> file+ C:\web\arcadia\askeet\config\properties.ini >> file+ C:\web\arcadia\askeet\config\rsync_exclude.txt >> file+ C:\web\arcadia\askeet\config\schema.yml >> dir+ C:\web\arcadia\askeet\data >> dir+ C:\web\arcadia\askeet\data\model >> dir+ C:\web\arcadia\askeet\data\sql >> dir+ C:\web\arcadia\askeet\doc >> dir+ C:\web\arcadia\askeet\lib >> dir+ C:\web\arcadia\askeet\lib\model >> dir+ C:\web\arcadia\askeet\log >> dir+ C:\web\arcadia\askeet\plugins >> file+ C:\web\arcadia\askeet\symfony >> dir+ C:\web\arcadia\askeet\test >> dir+ C:\web\arcadia\askeet\test\bootstrap >> file+ C:\web\arcadia\askeet\test\bootstrap\functional.php >> file+ C:\web\arcadia\askeet\test\bootstrap\unit.php >> dir+ C:\web\arcadia\askeet\test\functional >> dir+ C:\web\arcadia\askeet\test\unit >> dir+ C:\web\arcadia\askeet\web >> file+ C:\web\arcadia\askeet\web\.htaccess >> dir+ C:\web\arcadia\askeet\web\css >> file+ C:\web\arcadia\askeet\web\css\main.css >> dir+ C:\web\arcadia\askeet\web\images >> dir+ C:\web\arcadia\askeet\web\js >> file+ C:\web\arcadia\askeet\web\robots.txt >> dir+ C:\web\arcadia\askeet\web\uploads >> dir+ C:\web\arcadia\askeet\web\uploads\assets >> tokens C:\web\arcadia\askeet\config\propel.ini >> tokens C:\web\arcadia\askeet\config\properties.ini >> tokens C:\web\arcadia\askeet\config\propel.ini >> tokens C:\web\arcadia\askeet\config\config.php >> chmod 777 C:\web\arcadia\askeet\cache >> chmod 777 C:\web\arcadia\askeet\log >> chmod 777 C:\web\arcadia\askeet\web\uploads >> chmod 777 C:\web\arcadia\askeet\symfony >> chmod 777 web\uploads\assets
ok, projectにfront-endアプリを追加します。
symfony init-app frontend
でいけます。
C:\web\arcadia\askeet>symfony init-app frontend >> dir+ C:\web\arcadia\askeet/apps/frontend\config >> file+ C:\web\arcadia\askeet/apps/frontend\config\app.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\cache.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\config.php >> file+ C:\web\arcadia\askeet/apps/frontend\config\factories.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\filters.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\i18n.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\logging.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\routing.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\security.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\settings.yml >> file+ C:\web\arcadia\askeet/apps/frontend\config\view.yml >> dir+ C:\web\arcadia\askeet/apps/frontend\i18n >> dir+ C:\web\arcadia\askeet/apps/frontend\lib >> file+ C:\web\arcadia\askeet/apps/frontend\lib\myUser.class.php >> dir+ C:\web\arcadia\askeet/apps/frontend\modules >> dir+ C:\web\arcadia\askeet/apps/frontend\templates >> file+ C:\web\arcadia\askeet/apps/frontend\templates\layout.php >> tokens C:\web\arcadia\askeet/apps/frontend/config\settings.yml >> file+ C:\web\arcadia\askeet\web/index.php >> file+ C:\web\arcadia\askeet\web/frontend_dev.php >> tokens C:\web\arcadia\askeet\web\frontend_dev.php >> tokens C:\web\arcadia\askeet\web\index.php >> chmod 777 C:\web\arcadia\askeet\cache >> chmod 777 C:\web\arcadia\askeet\log >> chmod 777 C:\web\arcadia\askeet\web\uploads >> chmod 777 C:\web\arcadia\askeet\symfony >> chmod 777 web\uploads\assets >> dir+ C:\web\arcadia\askeet/test/functional/frontend
プロジェクト完成です!