Symfony2でpearを手軽に利用するバンドル – PearBundle

Symfony2でpearライブラリを手軽に利用するためにPearBundleというバンドルをつくりました。PearBundlepearのコマンドラッパーです。pearのパッケージをvendor/pear以下にインストールします。

この投稿の続きを読む »Symfony2でpearを手軽に利用するバンドル – PearBundle

BehatをPHPUnitに統合する

前回の記事の通り、Symfony2でBehatによるBDD(振舞駆動開発)が出来るようなりました。一点不満があるとすれば、Symfony2で標準で準備されているPHPUnitとまったく別個に動くため、BehatによるBDD分のテストカバレッジが組み込まれないことです。これを解決するためにPHPUnitからBehatを動かす方法を考えてみました。

この投稿の続きを読む »BehatをPHPUnitに統合する

Symfony2とBehatでBDD

Symfony2でBDDを行うためBehatを利用してみました。Behatは以下のような可読性の高い仕様をそのままテストに変換し実行します。

 # language: ja
フィーチャ: 現在ののデータファイルを各フォーマットで出力する
 
  シナリオ: 現在のhtmlファイルを取得する
    前提 ブラウザを利用する
    もし  "/current.html"にアクセスする
    ならば  "時"が25回"tr"タグ内に見つかる
 
  シナリオ: 現在のjsonファイルを取得する
    前提 ブラウザを利用する
    もし  "/current.json"にアクセスする
    ならば  json形式が返ってくる
 
  シナリオ: 現在のxmlファイルを取得する
    前提 ブラウザを利用する
    もし  "/current.xml"にアクセスする
    ならば  xml形式が返ってくる

この投稿の続きを読む »Symfony2とBehatでBDD

Symfony2でJenkinsを使ってCI

Symfony2がリリースされました。Symfony2では、テスティングフレームワークにPHPUnitが採用され、継続的インテグレーション(CI)ツールとの連携がより簡単になりました。そこでSymfony2のプロジェクトを継続的インテグレーションツールであるJenkinsをつかって管理してみたいと思います。

jenkins-symfony2 jenkins-symfony2-2 jenkins-symfony2-3 jenkins-symfony2-4

この投稿の続きを読む »Symfony2でJenkinsを使ってCI

symfony1.0のプラグイン集

事後のご報告となりますが、個人的に運営していたtracとSubversionのホスティングサービスtracfort.jpを先日閉鎖させていただきました。tracfortは2005/11から運営していたサイトで気軽にtrac付きのSubversionリポジトリを作成することが出来るサイトを目指していましたが、(例により)途中で放置モードに入り、そのうちにgithubという当時の私のコンセプトをすべて満たしたサービスが登場したことでサービスの意義を見いだせなくなり閉鎖をすることにしました。

tracfortにはたくさんのsymfony 1.0用のプラグインが登録されておりましたがそのうちで少しでも利用価値のありそうなものをピックアップして、githubへ移しました。移設したプラグインは以下の通りです:

この投稿の続きを読む »symfony1.0のプラグイン集

sfDocTestPlugin 0.2.8をリリースしました

sfDocTestPlugin 0.2.8をリリースしました。最近、大掛かりなプロジェクトでみんなでそれぞれテストを書いているのですが、お互いのテストが干渉して失敗する事が多くなりました。人のせいでテストが通らないと腹が立つので人間関係も悪くなります。今回のリリースでは、各テストの独立性を向上する事でテスト間の干渉がなくなり、円滑にプロジェクトを進めるのに役立つ機能を追加しました。

この投稿の続きを読む »sfDocTestPlugin 0.2.8をリリースしました

スキーマの変更にデータベースを追随させるsfPropelSqlDiffPlugin

データベースを用いたアプリケーションでは、開発途中に仕様変更などでデータベースを変更したい事があります。 通常は、ALTER等のSQLを駆使して差分のSQLを作成し、適用しますが、意外と面倒です。 propel-build-sqlタスクでは、CREATE TABLE文は作成してくれますが、既存のテーブル構造をかえる為のでALTER文は生成しません。 この作業を自動化してくれるのが、sfPropelSqlDiffPluginです。 sfPropelSqlDiffPluginは現在のconfig/schema.ymlとデータベースを比較して、差分のALTER文を生成するプラグインします。以下の図が概要になります。

この投稿の続きを読む »スキーマの変更にデータベースを追随させるsfPropelSqlDiffPlugin

symfonyアドベントカレンダー2009が公開されています

予告通りの1.2.10, 1.3.0, 1.4.0のリリースに続けて、symfonyアドベントカレンダー2009が公開されています。

今年は、日本語も同時公開です。自分も翻訳に参加させていただき、10日目のWebDebugToolBarを担当させていただきました。 それにしても、一ヶ月以上も前に英語の原稿がほぼ完成しているってことには驚きました。毎日時間に追われて書いているのではなかったのですね。

すでにいろんな方が記事にされているのでリンク先のご紹介:

symfony 1.0.21リリース

6日前にsymfony 1.0系の最新版1.0.21がリリースされましたが、色々多忙でブログにアップ出来なかったので今更ながら改めてお伝えします。

久しぶりのsymfony 1.0のリリースです。これが最後のリリースではありません。

出来るだけ、手間を避けるため通常セキュリティやバグ修正の取り込みのみが古いsymfonyシリーズには適用されます。 (注: ovoidが訳せなかったのでavoidのtypoと解釈しました)

PHP 5.3のサポートにより 1.0のアプリケーションが最新のPHPで動くようになりました。約3年の開発後、変更は少なくなっていくと考えています。

以下変更点です。 この投稿の続きを読む »symfony 1.0.21リリース

symfonyを使ったサイトリリース時のチェック項目

symfonyを使ったサイトをリリースするときに、チェックした方がよい項目をまとめました。

  1. 環境チェック
  2. PROD環境になっているか
  3. web/以下に不要なphpがないか
  4. ログを有効化
  5. ログの監視
  6. ログのローテーション
  7. web/errors
  8. web/.htaccess使わない

symfony version 1.0用になりますが、1.1系や1.2系でもほぼ同じだと思います。

2009-6-12 23:28 追記: 記事を書いた後にもっと良いサイト見つけました><。 http://symfony-check.org/en/

この投稿の続きを読む »symfonyを使ったサイトリリース時のチェック項目