訳あってsymfony 1.2用に作られたsfCryptoCaptchaPluginをsymfony1.0用に修正してます。現在ほぼ作業が終わってこちらのリポジトリに最新版があります。
コーディング時にはまったのが、うまくCAPTCHAイメージがが出力されずエラーがでる事でした。
原因を調べるため、バイナリダンプを行った所なんと、WebDebugツールバーが出力されており、バイナリを壊していました。
WebDebugツールバー自体は通常の開発で活躍していますので、CAPTCHAの出力の時だけWebDubgツールバーを無効にしたいと思いましたが、すぐにどうやるか思いつかなかったのですが以下のようにしてうまくいきました。
この投稿の続きを読む »WebDebugを一時的に無効にする方法
Symfony 0.6.3ベースでつくられたSymfonyのサンプルbookmarkプロジェクトをSymfony1.0.0-betaに対応させました。Symfonyにはアップグレードコマンドが付属しています。
とすることで、プロジェクトのソースコードを書き換え自動でアップグレードします。このアップグレードコマンドが何をしているのかを
svk diff
を利用し調査してみました。
この投稿の続きを読む »symfony upgrade 1.0でbookmarkをアップグレード
以前、PHPからJavascriptへの値の引き渡しに便利なSymfonyHelperのJsonHelperを書きました。昨日、JsonHelperが先月リリースされたSymfonyの最新安定板0.6.2で動作しないと報告を受け調査しました。
正しく動作しない原因は、先日Symfonyの最新安定板0.6.2から組み込まれたEscapeing Outputでした。
Escapeing Outputを利用するとテンプレートで配列がsfOutputEscaperArrayDecoratorのオブジェクトになってしまい、PEARのServices_JSONがこのオブジェクトを扱えないためエラーになっていました。
新版のJsonHelperを作成しましたのでtracにアップしておきました。
ついでに、本家のWikiにもメモしておきました。
Symfonyの最新安定版0.6.2で新しくEscaping Outputの機能が追加されました。
この仕組みが提案されてからリリースを待ち望んできましたが実に期待通りの機能でした。
Webアプリケーションでは、’<> &’などHTMLのメタ文字を’& lt; & gt; & amp;’のように変換する必要があります。もし、うっかり忘れるとクロスサイトスクリプティング(XSS)のようなセキュリティホールを発生させてしまう恐れがあるため確実にやらなくてはなりません。
SymfonyのEscaping Outputは、これらの変換を確実に行うための枠組みを提供します。
ここでは、以前からサンプルとして使っているBookmarkサンプルアプリケーションを例にSymfonyのEscaping Outputの仕組みを説明します。
この投稿の続きを読む »Escaping Outputの使い方
bookmarkアプリケーションはSymfonyフレームワーク0.5をベースに開発してきましたが、2/9(日本時間)に発表されたSymfony 0.6に早速対応したいと思います。
こちらのドキュメントを参考にしました。
この投稿の続きを読む »9日目: bookmarkをSymfony 0.6に対応する
Symfonyのテンプレートにはlink_to()のような組み込みの関数があらかじめいくつか定義されています。これらのテンプレートから利用できる関数をSymfonyでは、ヘルパーと呼んでいます。このヘルパー関数もプロジェクト毎、アプリケーション毎、モジュール毎に簡単に追加することができます。
この投稿の続きを読む »8日目: bookmarkの実装をする JSON用ヘルパーの作成
Symfonyではアクションの処理の前にフレームワークによるパラメータの検証(validate)をサポートしています。
本日は、作成中の個人用ブックマークシステムのサンプルに検証の仕組みを実装してみます。
この投稿の続きを読む »7日目:bookmarkの実装をする 入力の検証
askeet!やらドキュメントをひっくりかえしながらなんとか形になるものができた気がします。
個人向けブックマークシステムのデモ版を公開します。
http://bookmark.symfony.jp/
特徴
- Ajaxによるインクリメンタルサーチ
- 超整理法にならった押し出しファイリング式時系列ブックマーク
- ブックマーク追加用ブックマークレット
- 国際化対応
- 開発時間1週間ほど
ソースコードのダウンロードは、tracを参照して下さい
http://tracfort.jp/projects/bookmark
開発日記も後追いで追いかけています
自分のBookmarkエントリにすばやくアクセスをするためRSSフィードを実装します。
ChangeSet:17
SymfonyはRSSの配信をサポートしているのでほんとに一瞬でフィードを実装することができます。
この投稿の続きを読む »5日目:bookmarkを連携する RSSフィードの追加