sfRequest->addHttpMeta($key, $value, $override = true)は、$keyをnomalizeしてセットするので注意!
たとえば、content-typeはContent-Typeとなる。
そのため、view.ymlでhttp_metasを設定して、addHttpMetaで設定したkeyを上書きする場合、上記の例では、
content-type: text/xml
では上書きされないようである。
Content-Type: text/xml
とすると、うまくいった。
両方書いてもokだった。
年別アーカイブ: 2006年
sfAction->sendEmail($module, $action)
sfAction->sendEmail($module, $action)
The ->sendEmail() method of the sfAction class is a special kind of ->forward() that executes another action but comes back afterward (it doesn't stop the execution of the current action). In addition, it returns a raw email that can be written into a log file (you will find more information about the way to log information in the debug chapter of the symfony book).
ブラウザと携帯のテンプレート切り替え
ブラウザと携帯のテンプレート切り替え
・filterで、UserAgent等から判断用の各種属性をsetAttributeでセットしておく。
・各モジュールのアクションの、preExecute()メソッド内で、
$this->setLayout('テンプレート名');
で切り替える。
http://www.symfony-project.com/book/trunk/controller
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でチェックしている。
Windowsでrsync
cwRsyncをインストールして、binディレクトリにパスを通す。
(うまくいかない場合は、pathの一番最初に追加する。)
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'))