目次 †内容 †資料 †インストール †PEARを使う場合 †# pear upgrade PEAR # pear channel-discover pear.symfony-project.com # pear install symfony/symfony
httpdの設定(VirtualHostを使った場合) †<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/symfony-apps/<<プロジェクト名>>/web/ ServerName <<プロジェクト名>>.<<サーバ名>> ErrorLog /home/symfony-apps/<<プロジェクト名>>/log/httpd_error.log CustomLog /home/symfony-apps/<<プロジェクト名>>/log/httpd_access.log common <Directory "/home/symfony-apps/<<プロジェクト名>>/web"> AllowOverride All Allow from All </Directory> # Symfony Defalut Pages: Alias /sf /usr/local/lib/php/data/symfony/web/sf <Directory "/usr/local/lib/php/data/symfony/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
アプリ作成 †プロジェクトの作成 †# mkdir /path/to/sf_prj # cd /path/to/sf_prj # symfony generate:project projname アプリの作成 †# cd /path/to/sf_prj # ./symfony generate:app newapp 設定情報の取得 †symfony変数の取得方法 †sfConfig::get('sf_app_module_dir');
インタラクティブ †POST情報の取得方法 †$str = $request->getParameter("field_name"); 出力の制御 †JSON形式で返す †$result = array( array("bb" => "bb" ) ); $response->setHttpHeader('Content-type', 'application/json'); return $this->renderText(json_encode( $result ) ); JSやCSSを追加 †### templateの場合 sfContext::getInstance()->getResponse()->addJavascript('/dummy.js'); sfContext::getInstance()->getResponse()->addStylesheet('/dummy.css'); or <?php use_stylesheet('mystyle2') ?> ### actionの場合 $this->getResponse()->addJavascript('/dummy.js'); $this->getResponse()->addStylesheet('/dummy.css'); PHPのエラー出力を抑制 †
dev: .settings: error_reporting: 0 モデル †モデルの作成 †
ビュー †別のテンプレートファイルを利用する †$this->setTemplate('home'); // hogeSuccess.phpが呼ばれる プルダウンメニューの生成(sfWidgetFormを使う場合) †新しいsymfonyではformヘルパーが使えないのでsfWidgetFormを使う <?php $select = new sfWidgetFormSelect( array( "choices" => array( "1" => "アイテム1", "2" => "アイテム2", "3" => "アイテム3", ) ) ); echo $select->render("select_menu_name", 2); ?>
デバッグツールバーを出さない †sfConfig::set('sf_web_debug', false)
ユーティリティ †YAMLの読み込み †$yaml = new sfYaml(); $result = $yaml->load( "test.yml" ); print_r( $result ); ルーティング †URLからmoduleとactionを指定 †admin_siclist: url: /admin/siclist.js param: { module: admin, action: sicList } |