ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2011-03-09

[][]Symfony2のエラーページのカスタマイズ

PR7になってからフレームワークでエラーページに謎のキャラクターが出現するようになりました。

f:id:brtRiver:20110309051600p:image

でも、キャラクターと言えばSymfonyにはしんふぉにゃんがいます。何それ?ってかたはsymfonyの非公式マスコットが作成されたようです - モノノフ日記を参照。

というわけで、エラーページをカスタマイズしなくてはという何か昔に似たようなことをやった気がしなくもありませんが、Symfony2の調査がてらやってみました。

どうやって拡張するか

「画像を上書きすればできるし」という声も聞こえますが、まずはドキュメントを読んでみます。

no title

すぐに見つけました。しかし、これで出来ると思いきやこの通りやっても出来ません。バージョンアップのどこかでパスが変わったようです。

大丈夫。全く問題ありません。こんなことはまだまだ軽少、すり傷です。


そしてソースを追った結果、正しいパスも分かったのですがそんなことを意識しなくても済むようにバンドルを作成してみました。

インストール方法

  • 手元にSymfony2 Standard Edition PR7 をダウンロードしてきます。
  • SymfonyanBundleをcloneしてきます
$ git clone git://github.com/brtriver/SymfonyanBundle.git src/Acme/SymfonyanBundle
  • app/AppKernel.phpにバンドルを追加します。
        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Symfony\Bundle\WebConfiguratorBundle\SymfonyWebConfiguratorBundle();
            $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
            $bundles[] = new Acme\SymfonyanBundle\SymfonyanBundle(); // <= 追加
        }
  • これでsymfonyanコマンドが利用できるかどうかを確認します。
$ ./app/console
...
symfonyan
  :exception-install           Change the icon of the exception page to Symfonyan
  :welcome-install             Change the welcome page to Symfonyan

もし、エラーになる場合はキャッシュが邪魔してる可能性があるのでsudo chmod -R 0777 ./app/cache で。

  • SymfonyanBundleで用意したエラーページが呼び出されるようにコマンドを叩くだけ
$ ./app/console symfonyan:exception-install --symlink
$ ./app/console assets:install web --symlink

結果

開発環境での404エラーページ

f:id:brtRiver:20110309051601p:image

ほら、エラーで残念なはずがこんなに緩い感じに。


そして、本番環境の質素な404エラーページも

[before]

f:id:brtRiver:20110309051602p:image



こんな感じに

[after]

f:id:brtRiver:20110309051603p:image

おまけ

以下のコマンドを叩けば

$ ./app/console symfonyan:welcome-install --symlink

インストール直後の画面にも....

[before]

f:id:brtRiver:20110308024635p:image


[after]

f:id:brtRiver:20110309192439p:image

Let's enjoy Symfony!

2011-03-07

[][] Symfony2 PR7 あらため Symfony Standard 2.0.0 PR7 リリース

f:id:brtRiver:20110308024635p:image

さて、Symfony2が完成度を高めたPR7がリリースされました。どうです。このインストールしてアクセスした画面。なんか豪華です。そして本当であれば安定板が出ている予定だったのですが、いまだに絶賛開発中です。

かなり完成度が高くなってきたSymfony2の現在の状況をまとめてみます。漏れor間違いがあれば指摘ください。

サイトのリニューアル

いままでsymfony-reloaded.orgだったドメインがsymfony.comになりました。そして、symfony1系のサイトだったno titleの上部にもYou are browsing the symfony 1 legacy websiteと案内が表示されています。

legacyと書いてますがSymfony2はまだプレビューリリース版ですのでご注意をば。


そして、ドキュメントにno titleというページがあります。素のPHPでWebアプリケーションを作るサンプルコードを紹介し、そこからSymfony2でどのようにコーディングしていくかを説明しています。これが素晴らしい出来でSymfony2を理解するというよりPHPの学習のための教材にも使えそうです。


また、マーケットプレイスというメニューが新しく用意されました。中身はまだありませんが今後の展開に注目です。

Symfony Standard 2.0.0 PR7 デビュー

今回のリリースから Standard Editionという名前になっています。

@hidenorigotoさんによると

http://twitter.com/hidenorigoto/status/44814101880389632

サンドボックスと呼ぶのをやめて、「アプリケーション構成も含めた公式の標準的なディストリビューション」にするというのが元々の発端だったかと思います。

という意図があるようです。

PR7で変わったこと

リニューアルしたサイトデザインに合わせた画面になっています。

この記事の一番上のキャプチャがそれです。

  • ドキュメントへのリンク
    • 主なドキュメントや公式サイトのコンテンツのリンクが網羅されてます
  • DB設定のためのヘルプ画面

GUIで項目に応えれば、最後の画面で表示される結果をコピペすればOK

f:id:brtRiver:20110308024636p:image

これからまだ増えそうですが、どんなコードでどういう結果が表示されているかが分かるHello World的なサンプルアプリ

f:id:brtRiver:20110308024637p:image

簡単なメール送信フォーム画面

f:id:brtRiver:20110308024638p:image

メールは送信されないけれど、WebProfilerでどのような値がポストされているかは簡単に確認可能

f:id:brtRiver:20110308024639p:image

  • AsseticBundleが追加

PHPMatsuriでも来日し、Symfony2のワークショップでもお世話になったKrisさんが開発しているバンドルです。どういったものかは@yandoさんの

Page not found · GitHub Pagesが参考になります。

あと、bootstrapの仕組みも変わりましたし今までのPR版でアプリ作成していた場合はアップデートするのも大変かもしれません。でも、確実に完成度は高くなってきているのがわかります。そして、まだまだテスト不足だったり未完成な部分があるのも事実です。

時間があればSymfony2に触れてみてバグレポートを上げてください!

Symfony Standardの課題一覧

githubでパッチの送り方

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |