symfony

Viewで使える特殊変数のまとめ

編集名 説明 $sf_context sfContextのインスタンス $sf_request sfRequestのインスタンス $sf_params sfRequest->getParameterHolder()で得られるオブジェクト $sf_user sfUserのインスタンス $sf_data テンプレートに渡した編集をエスケープしたり、そのま…

Doctrineのupdateの仕方が美しくない

Timestamp/Date/DateTime型だとエラーになる 普通に書くとこんな感じになるけど、エラーになる createQuery('f') ->update() ->set('f.bar', date('Y-m-d H:i:s')) ->execute(); #=> syntax error Doctrine::getTable('Foo')->createQuery('f') ->update() -…

sfJpMobilePluginを0.0.3にUP

0.0.2までやってからPCサイトを構築していたので、全く動かない状態で放置されてました。 下記のような修正を入れて、とりあえず動くようにしました。 動かなかった部分の修正 絵文字の相互変換周りの修正 リダイレクトの時にsession_idを維持するようにした…

Doctrine_Pager_Layoutの使い方

Doctrineに付属しているPagerクラス。 Pagerだけでは、ページングのナンバーリンクの自動生成はできない。そこで、包括的なDoctrine_Pager_Layoutを利用するようにするとPagerもRangeも同時に利用することが可能。しかし、Pager_Layoutの生成はちょっと煩雑…

Formで定義したWidgetを、全てHiddenとして出力する

確認画面で必要になったのですが、意外と簡単に実装できた。Formクラスの中に下記のようなメソッドを追加して getName(); if (self::getCSRFFieldName() != $id) { $w = new sfWidgetFormInputHidden(); $txt .= $w->render(sprintf($this->getWidgetSchema(…

プラグイン内でconfig_handlers.ymlを利用するときにエラーになる

config_handlers.ymlはプラグインの中で定義して、一緒に配布することが可能です。 しかし、バグかどうか分かりませんが、普通に書くとdebug=falseのときにエラーになるようです。 envがprodだろうがdevだろうが関係ありません。symfonyのバージョンは1.2.7 …

openpearでsymfonyプラグインを作るときに注意すること

openpearでパッケージングするときに色々パラメータを設定するのですが、「詳細な設定」のところにある「インストール先」の指定を注意しなければなりません。 デフォルトでは「/」となっておりますが、このままでplugin:installを行うと plugins/ config/ l…

openpearに登録しました。

openpearにてsfJpMobilePluginを公開しました。 開発はgithubで行っておりますので、こちらはgithubからマージしてもってくるスタンスです。 plugin:install 対応ということで。

やっと設定ファイルのキャッシュ機構が分かった

どうすればプラグインの中の設定ファイルをキャッシュできるか悩んでいたんですが、分かると簡単でした。キャッシュを行うにはconfig_handlers.ymlという設定ファイルに、どういった設定ファイルなのか認識させる必要があります。 このファイルはプラグイン…

sfJpMobilePluginを作りました。

symfonyでの携帯サイトの作成を支援するsfJpMobilePluginを作りました。 githubにて公開してます。機能はgithub上のREADMEを読んでいただければと。 様々な環境に対応するのではなく、僕自身が必要だったから作ったものですので、機能不足が多々あります。最…

Jobeetをやってみる 11日目

Formのテストについて学ぶ フォームの送信方法 前回でリンクをクリックさせる際に利用したclick()メソッドで実現できる。 フォームの値は第2引数にハッシュとして渡す。 info('3 - Post a Job page')-> info(' 3.1 - Submit a Job')-> get('/job/new')-> wit…

Jobeetをやってみる 10日目

Formの作成方法について学ぶ Form Framework Form Frameworkは以下の3つで成り立っている validation : 入力値の検証 widghets : HTMLタグの出力 forms : バリデータとウィジェットを持ったクラス フォーム フォームはウィジェットとバリデータを持った、フ…

Jobeetをやってみる 9日目

機能テストについて学ぶ テスト用のデータは test/fixtures にあるものを利用するようにするけど、中身は data/fixtures と一緒。 sfBrowserクラスについて ブラウザの動作をシミュレートするメソッド メソッド名 説明 get($uri, $parameters, $changeStack)…

Jobeetをやってみる 8日目

単体テスト(ユニットテスト)について学ぶ symfonyにおけるテスト symfonyではと単体テストと機能テストを自動生成する それぞれ test/unit, test/functional に生成される今回は単体テストのみ対象で、テストにはlimeテストフレームワークを利用する テスト…

Jobeetをやってみる 7日目

カテゴリページを作る ルーティングの設定 # apps/frontend/config/routing.yml category: url: /category/:slug class: sfDoctrineRoute param: { module: category, action: show } options: { model: JobeetCategory, type: object } :slugパラメータはカ…

Jobeetをやってみる 6日目

DoctrineとModelの使い方を学ぶ Doctrineクエリオブジェト Doctrine::create()でインスタンスを作成する まずjobのリストを30日以上経過したら表示しないように変更する from('JobeetJob j') ->where('j.created_at > ?', da…

symfony1.2のComponentの呼び出しについてのいろいろ

Action内で呼び出す getComponent('module_name', 'component_name')->someAction(); Template内で呼び出す Requestの扱い Template内 include_component()では、常にsfContext::getRequest()が渡されるようになっている。

Jobeetをやってみる 5日目

ルーティングについて学ぶ 設定ファイルについて ルーティングの設定は routing.yml に記述されており、上から順にマッチしていく アプリルートのカスタマイズ 初期設定ではルートの設定が /job になっていて、ドキュメントルートにアクセスしてもJobeetが表…

Jobeetをやってみる 4日目

ControllerとViewの扱いを学ぶために以下のページを作成する jobsのリスト表示 新しいjobの作成 作成済のjobの更新 jobの削除 Layoutについて symfonyではLayout方式を採用している。Layout方式というのは、対象のテンプレートを共通のテンプレートの真ん中…

Jobeetをやってみる 3日目

DBのセットアップ Doctrine用のschemaの設定ファイルを作る*1 schemaファイルからテーブルとデータモデルを生成 sfDoctrinePluginを利用するための設定 設定ファイルの変更 enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin')); } そして…

Jobeetをやってみる 2日目

これから作るものの説明 絵を見ていけば大体分かる。簡単にまとめると ToDoタスクリスト jobにはカテゴリを割り振れる ページング処理を行い、1ページには20個まで表示する Location, Position, Category, Companyからキーワード検索をすることができる でも…

Jobeetをやってみる 1日目

和訳では未だに1日目しか読むことができないので、辞書があっても英語が読めない人が原文を見ながらやってみるストーリーsymfonyをインストールして、開発の環境を作りましょう。 ※最後にSubversionを利用するための、補足説明があります。 symfonyのセット…