WebDebugを一時的に無効にする方法

訳あってsymfony 1.2用に作られたsfCryptoCaptchaPluginをsymfony1.0用に修正してます。現在ほぼ作業が終わってこちらのリポジトリに最新版があります。

コーディング時にはまったのが、うまくCAPTCHAイメージがが出力されずエラーがでる事でした。 原因を調べるため、バイナリダンプを行った所なんと、WebDebugツールバーが出力されており、バイナリを壊していました。

WebDebugツールバー自体は通常の開発で活躍していますので、CAPTCHAの出力の時だけWebDubgツールバーを無効にしたいと思いましたが、すぐにどうやるか思いつかなかったのですが以下のようにしてうまくいきました。

この投稿の続きを読む »WebDebugを一時的に無効にする方法

symfony upgrade 1.0でbookmarkをアップグレード

Symfony 0.6.3ベースでつくられたSymfonyのサンプルbookmarkプロジェクトをSymfony1.0.0-betaに対応させました。Symfonyにはアップグレードコマンドが付属しています。

symfony upgrade 1.0

とすることで、プロジェクトのソースコードを書き換え自動でアップグレードします。このアップグレードコマンドが何をしているのかを

svk diff
を利用し調査してみました。

この投稿の続きを読む »symfony upgrade 1.0でbookmarkをアップグレード

Escaping Outputに対応した新JSONヘルパー

以前、PHPからJavascriptへの値の引き渡しに便利なSymfonyHelperのJsonHelperを書きました。昨日、JsonHelperが先月リリースされたSymfonyの最新安定板0.6.2で動作しないと報告を受け調査しました。

正しく動作しない原因は、先日Symfonyの最新安定板0.6.2から組み込まれたEscapeing Outputでした。 Escapeing Outputを利用するとテンプレートで配列がsfOutputEscaperArrayDecoratorのオブジェクトになってしまい、PEARのServices_JSONがこのオブジェクトを扱えないためエラーになっていました。

新版のJsonHelperを作成しましたのでtracにアップしておきました。

ついでに、本家のWikiにもメモしておきました。

Escaping Outputの使い方

Symfonyの最新安定版0.6.2で新しくEscaping Outputの機能が追加されました。 この仕組みが提案されてからリリースを待ち望んできましたが実に期待通りの機能でした。

Webアプリケーションでは、’<> &’などHTMLのメタ文字を’& lt; & gt; & amp;’のように変換する必要があります。もし、うっかり忘れるとクロスサイトスクリプティング(XSS)のようなセキュリティホールを発生させてしまう恐れがあるため確実にやらなくてはなりません。

SymfonyのEscaping Outputは、これらの変換を確実に行うための枠組みを提供します。

ここでは、以前からサンプルとして使っているBookmarkサンプルアプリケーションを例にSymfonyのEscaping Outputの仕組みを説明します。 この投稿の続きを読む »Escaping Outputの使い方

9日目: bookmarkをSymfony 0.6に対応する

bookmarkアプリケーションはSymfonyフレームワーク0.5をベースに開発してきましたが、2/9(日本時間)に発表されたSymfony 0.6に早速対応したいと思います。

こちらのドキュメントを参考にしました。

この投稿の続きを読む »9日目: bookmarkをSymfony 0.6に対応する

8日目: bookmarkの実装をする JSON用ヘルパーの作成

Symfonyのテンプレートにはlink_to()のような組み込みの関数があらかじめいくつか定義されています。これらのテンプレートから利用できる関数をSymfonyでは、ヘルパーと呼んでいます。このヘルパー関数もプロジェクト毎、アプリケーション毎、モジュール毎に簡単に追加することができます。 この投稿の続きを読む »8日目: bookmarkの実装をする JSON用ヘルパーの作成

7日目:bookmarkの実装をする 入力の検証

Symfonyではアクションの処理の前にフレームワークによるパラメータの検証(validate)をサポートしています。 本日は、作成中の個人用ブックマークシステムのサンプルに検証の仕組みを実装してみます。

この投稿の続きを読む »7日目:bookmarkの実装をする 入力の検証

ブックマークサンプルアプリケーションのデモを公開

askeet!やらドキュメントをひっくりかえしながらなんとか形になるものができた気がします。

個人向けブックマークシステムのデモ版を公開します。 http://bookmark.symfony.jp/

特徴

  1. Ajaxによるインクリメンタルサーチ
  2. 超整理法にならった押し出しファイリング式時系列ブックマーク
  3. ブックマーク追加用ブックマークレット
  4. 国際化対応
  5. 開発時間1週間ほど

ソースコードのダウンロードは、tracを参照して下さい http://tracfort.jp/projects/bookmark

開発日記も後追いで追いかけています

6日目:bookmarkの国際化対応をする

多国語リソースの切り分け方法について説明します。 この投稿の続きを読む »6日目:bookmarkの国際化対応をする

5日目:bookmarkを連携する RSSフィードの追加

自分のBookmarkエントリにすばやくアクセスをするためRSSフィードを実装します。 ChangeSet:17

SymfonyはRSSの配信をサポートしているのでほんとに一瞬でフィードを実装することができます。

この投稿の続きを読む »5日目:bookmarkを連携する RSSフィードの追加