アットウィキロゴ

symfony


PEAR パッケージからのsymfonyインストール

// PEARのアップグレード
$ pear upgrade PEAR
// チャンネルの追加
$ pear channel-discover pear.symfony-project.com
// チャンネル内で利用可能なライブラリ一覧
$ pear remote-list -c symfony
// インスコール
$ pear install symfony/symfony

関連コマンドラインツールのインストール

  • pake: 自動的にインストールされます。次章にて Pake についてより多くのことを学べます。
  • creole: 自動でインストールされます(データベース接続ツール)
  • propel: 自動でインストールされます( OR マッピングツール)
  • phing: 手動によるインストールが必要です
$ pear install http://phing.info/pear/phing-current.tgz

どこに symfony のファイルがあるのか?

$php_dir/symfony/      メインライブラリ
$data_dir/symfony/     アプリケーションのスケルトンとデフォルトモジュールと設定
$doc_dir/symfony/      ドキュメント
$test_dir/symfony/     単体テスト
これらの変数はを確認するには
$ pear config-show

ナイトビルド版を手に入れる

$ pear install symfony/symfony-beta // インスコ
$ pear upgrade symfony/symfony-beta // あっぷぐれすこ

symfony インストレーションをアップグレードしたとき、忘れずにアプリケーションが使っているキャッシュをクリアしましょう。

$ cd myproject
$ symfony clear-cache

symfonyコマンドラインの利用できるアクションの全てを表示

$ ./symfony.sh -T                               (*nix)
symfony -T

キャッシュのクリア

$ ./symfony.sh clear-cache                      (*nix)
symfony clear-cache                             (Windows)

もしキャッシュする内容を選択したい場合は(すでに存在する HTML ファイルのキャッシュを残しつつ各アプリの設定のみをクリアしたい場合)は次のようにしてください。


$ cd myproject
$ symfony clear-cache myapp1 config
$ symfony clear-cache myapp2 config

プロジェクトの作成


プロジェクトのセットアップ

$ mkdir /home/steve/myproject
$ cd /home/steve/myproject
$ symfony init-project myproject

アプリケーションのセットアップ

$ symfony init-app myapp

アクセス
http://myapp.example.com/index.php/
http://myapp.example.com/myapp_dev.php/

モジュールのセットアップ

$ symfony init-module myapp mymodule

アクセス
http://myapp.example.com/index.php/mymodule

ウェブサーバーのセットアップ(VHOST)


AddModule mod_rewrite.c
LoadModule rewrite_module modules/mod_rewrite.so

<VirtualHost *:80>
  ServerName myapp.example.com
  DocumentRoot "/home/steve/myproject/web"
  DirectoryIndex index.php
  Alias /sf /$sf_symfony_data_dir/web/sf
  <Directory "/$sf_symfony_data_dir/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/home/steve/myproject/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

テストケースの実行


test-all                   > launch all tests
test-functional            > launch functional tests for an application
test-unit                  > launch unit tests

データモデル系


データモデルの初期化

$ php symfony propel-build-model // > $PROJECT/lib/model/

データモデルからテーブル定義SQLの作成

$ php symfony propel-build-sql // > $PROJECT/data/sql/

テーブル定義SQLからテーブルの作成

$ php symfony propel-insert-sql

アプリケーションの足場を作成する

データモデル設定を元にアプリケーションにCRUDなモジュールを生成する

$ php symfony propel-generate-crud myapp post Post
$ php symfony propel-generate-crud myapp comment Comment
$ php symfony clear-cache

アプリケーション全体のレイアウトを変更する

$PROJECT/apps/$MYAPP/templates/layout.php

アプリケーション全体の設定を変更する

タイトルとかhtmlの<head>のメタタグとか
$PROJECT/apps/$MYAPP/config/view.yml

ルーティングを変更する

$PROJECT/apps/$MYAPP/config/routing.yml

デフォルトの国を変更する

$PROJECT/apps/$MYAPP/config/i18n.yml

$PROJECT/apps/$MYAPP/config/setting.yml
all:
  .settings:      
    i18n: on
    standard_helpers: [I18N]
    charset: UTF-8

※変更後はsymfonyのキャッシュとクライアントのブラウザのクッキーの削除が必要
最終更新:2008年03月17日 06:37