2008-01-01から1年間の記事一覧
prod モードではデフォルトで、ルーティングの設定のみでなく、設定から生成される sfRoute クラスでコンパイルを行った状態のインスタンスがシリアライズされ、キャッシュされます。 したがって、prod モードでは実行時のコンパイル処理のオーバーヘッドは…
上で説明した symfony のルーティング処理で、パラメータ名を含むパターンなどがコンパイルされると、「(?Ppattern)」という正規表現になります。この正規表現ですが、マッチしたパターンを後方参照する際に、名前で取り出すための記法です。 Perlの正規表現…
symfonyでのルーティング処理がどのように行われているのか、ソースを読んでみました。ルーティングの設定は、routing.yml に記述します。 routing.yml に記述した設定は、sfRoutingConfigHandler によってパースされ、キャッシュファイルとして保存されます…
symfonyのドキュメント翻訳の校正を少しずつ手伝っていますが、そのプロジェクトの中で「カタカナの表記はJISに合わせようか」というような話がありました。 お恥ずかしながら、これまでJISの表記規格を読んだことがありませんでしたので、この機会に調べて…
sfValidatorPassは「何もしないバリデータ」です。入力値の検証や変換は一切行わず、「その名前のパラメータを受け取る」ということを示すために存在しています。※symfonyのフォームフレームワークで入力値のバリデーションを行う場合、すべてのフィールドに…
↓の記事を書いた時に、思わず「*」を2つつけて見出しを書いてしまっていたようで訂正しました・・・。 はてダ慣れしてないですね・・・。
おそらく日本のsymfonyユーザーなら誰でもお世話になっているであろう、Masakiさんが運営するsymfonyドキュメントの翻訳プロジェクトで、少しお手伝いを始めました。 ドキュメントの翻訳 翻訳プロジェクトのGoogle Codeサイト 翻訳プロジェクトのGoogleグル…
本家ブログ symfony 1.x legacy website「ちょっと早いけど、クリスマスプレゼント」とのことですw Admin Generatorとかまだ試してないのですが・・・。まだ開発コミュニティに貢献できるほど内部を理解していないので、時間見つけてゴリゴリいじらないとで…
バッチ処理用にSynfonyのタスクを作成するには、以下のコマンドでタスクのテンプレートを生成します。 symfony generate:task <TASKNAME> symfony 1.x legacy website</taskname>
/lib/filter/sfCacheFilter.class.php の119行目あたり cacheManager->getClientLifeTime($uri, 'page')) 118 { 119 $this->response->setHttpHeader('Last-Modified', $this->response->getDate(time()), false); 120 $this->response->setHttpHeader('Expi…
の方法がbrtRiverさんのところで公開されていたのでメモ。→http://d.hatena.ne.jp/brtRiver/20081128/1227824656bindした後で、sfWidgetSchema内の要素を全部sfWidgetFormInputHiddenに置き換える感じです。 こういう方法はアリですねぇ。 私はこれまでに自…
Webminからウェブサーバーにバーチャルホストを作成したら、Apacheの起動時に次のような警告が出ていました。 [warn] NameVirtualHost *:80 has no VirtualHostsこれ、分かってみればショボイミスなのですが、VirtualHostを設定する時にポートを指定しなかっ…
sfFormとsfFormFieldSchemaはどちらもArrayAccessインターフェイスを実装しており、 $form['hoge'] $formFieldSchema['hoge'] というように、フォーム要素の識別名でアクセスできます。 これらは両方とも、フォーム要素に対応するsfFormFieldオブジェクトを…
ここ何日かアレコレメモしながらSymfonyと格闘していて、特にフォーム周りの実装について研究していたのですが、ようやく出口が見えてきました・・。おそらく多くの人も既に同じ問題に取り組んでいることだと思いますが、フォームの「確認画面」をスマートに…
sfForm派生クラス内でフォーム要素の設定を行う場合、 sfForm->setWidgets()でのウィジェットの初期化 sfForm->widgetSchema->setLabelsでラベルの設定 sfForm->widgetSchema->setNameFormatでフォーム要素のNameフォーマットの変更 などを行いますが、sfFor…
フォーム定義クラス(sfForm派生クラス)内でバリデーションの設定を行う場合、SymfornyのFormsドキュメントでは以下のようなサンプルコードになっています。http://symfony.xrea.jp/1.1/forms_book/02-Form-Validation.html 「バリデータ」 setValidators(a…
sfAction::forwardIf($condition, $module, $action) sfAction::forwardUnless($condition, $module, $action) sfAction::redirectIf($condition, $url, $statusCode = 302) sfAction::redirectUnless($condition, $url, $statusCode = 302) sfAction::forwa…
Google Code Archive - Long-term storage for Google Code Project Hosting.の「新しい sfForm メソッド」参照sfForm::renderFormTag()を使用すると、フォームの開始タグを上手く生成できます。
http://symfony.xrea.jp/1.1/forms_book/01-Form-Creation.htmlの「ラベル」の項によると、sfFormのwidgetSchema->setlabelsやwidgetSchema->setLabelを使用する方法が紹介されていますが、ウィジェットのコンストラクタへのオプションで直接labelを指定する…
●月●日~●月●日という日付の範囲を選択する場合に、sfWidgetFormDateRangeを使います。 sfWidgetFormDateRangeには、開始日用と終了日用にそれぞれsfWidgetFormDate要素を作成します。 また、全体のフォーマットは「template」というオプションで変更できます…
sfWidgetFormDateを使用した日付選択は、デフォルトでは次のような要素が表示されます。 [ 月 ▼]/[ 日 ▼]/[ 年 ▼] この表示を「年月日」に変えたい場合は、sfWidgetFormDateに渡すオプション「format」で変更します。 '%year%年%month%月%day%日' ) ) ?> ち…
sfWidgetFormChoiceは複数の値からの選択を前提としたものですが、オン/オフを指定するような単一のチェックボックスの場合は、sfWidgetFormInputCheckboxを使用します。 setWidgets( array( '同意'=> new sfWidgetFormInputCheckbox( array( 'value_attrib…
例:sfWidgetFormChoice1.sfForm派生クラス内にて、各フォームへの要素割り当て setWidgets( array( 'options'=> new sfWidgetFormChoice( array( 'choices'=>array( 'value1'=>'name1', 'value2'=>'name2'), 'multiple'=>true, 'expanded'=>true ) ) )); ?>…
例:sfWidgetFormChoice~SYMFONY_LIB_DIR/widget/sfWidgetFormChoice.class.php configureメソッドが以下のように定義されています。 addRequiredOption('choices'); 44 45 $this->addOption('multiple', false); 46 $this->addOption('expande…
sfWidgetFormChoiceを使用します。 sfWidgetFormChoiceのコンストラクタに渡す第1パラメータのオプションで、multipleとexpandedがあり、この値の組み合わせでラジオボタンやチェックボックスになります。 multiple=>false, expanded=>false :単一選択リス…
sfWidget系フォームの説明symfony 1.x legacy websiteチャプターが飛んでいるのはまだ執筆中の部分が多いってことなんでしょうかねぇ。 symfony 1.x legacy website symfony 1.x legacy website symfony 1.x legacy website symfony 1.x legacy website symf…
いつも方法を忘れてしまうのでメモ・・symfony 1.x legacy website svnチェックアウト プロジェクト用ディレクトリを作成 /data/bin/symfony を使ってプロジェクト初期化 # プロジェクト用ディレクトリを作成 $ mkdir prj # プロジェクト用ディレクトリへ移…
$ symfony -T
PHP: PDOStatement - Manual PDOStatement implements Traversable {となっているように、PDOStatementクラスはTraversableインターフェイスを実装しています。 なので、execute()を実行したPDOStatementオブジェクトを直接foreach()に突っ込んでループさせ…
symfony1.2(http://trac.symfony-project.org/changeset/13196/branches/1.2)で、/cache/frontend/dev/config 配下に書き出されるファイルのパーミッションが 0644 になっているので、後からコマンドラインで symfony propel:build-all をやると、ファイルに…