ブラウザと携帯のテンプレート切り替え
・filterで、UserAgent等から判断用の各種属性をsetAttributeでセットしておく。
・各モジュールのアクションの、preExecute()メソッド内で、
$this->setLayout('テンプレート名');
で切り替える。
http://www.symfony-project.com/book/trunk/controller
「Symfony」カテゴリーアーカイブ
action以外のクラスからsfUserなどのcontextのオブジェクトを取得する
action以外のクラスからsfUserなどのcontextのオブジェクトを取得する
例:
sfContext::getInstance()->getUser()
setAttributeでnamespaceを使う
$this->getUser()->setAttribute('subscriber_id', $user->getId(), 'subscriber');
$this->getUser()->setAttribute('nickname', $user->getNickname(), 'subscriber');
// namespaceごと削除できる。
$this->getUser()->getAttributeHolder()->removeNamespace('subscriber');
symfonyコマンド(pake)実行にはプロジェクトルートディレクトリに、SYMFONYという名前の空ファイルが必要
symfonyコマンド(pake)実行にはプロジェクトルートディレクトリに、SYMFONYという名前の空ファイルが必要。
symfony/data/bin/pakefile.phpでチェックしている。
innoDBを使う
To use the InnoDB engine, one line has to be added to the propel.ini file of the askeet/config/ directory:
propel.mysql.tableType = InnoDB
http://www.symfony-project.com/askeet/2
autoloadされるクラスのキャッシュ
開発環境では、設定は毎回再読み込みされるが、autoloadされるクラスは再読み込みされないので、libのクラスファイルを追加変更した場合は、clear-cacheする必要がある。
getterで取得した日付のフォーマット
getterで取得した日付のフォーマット
strftime('%Y-%m-%dT%H:%M:%SZ', $question->getCreatedAt('U'))
Form Validationの設定ファイルの書き方の注意
methods:
post: [name, email]
※角括弧([])内にパラメータ名をリストする!
phingのインストール
phingのインストール
pear channel-discover pear.phing.info
(pear config-set preferred_state beta)
pear install phing/phing
http://shiro.exbridge.info/archives/50699333.html
sfFeedをインストールする
symfony-0.6.3にsfFeedをインストールするには、
pluginのtracからsfFeed/libのクラスファイルをダウンロードして、
にコピーする。
または、
symfony plugin-install local symfony/sfFeed-1.0.0
でもインストールできるが、これは古いバージョンなのでバグがある。(itemのURLが正しくセットされない。)