投稿

最近めっきりブログ更新頻度が減っててすいませんすいません。 ということでタイトルの通りなのですが、このたび9月19日に「CakePHPで学ぶ継続的インテグレーション」(インプレス)が発売になりますのでお知らせいたします。 […]

みなさんお料理頑張ってますか?僕は毎日cookbookのrecipeみながらkitchenでknife使ってChef気分です(意味不明)。 今日はopscodeが提供しているphpのcookbookをみて中身を解説したい […]

CakePHPの良いところの1つに、bakeコマンドでどんどん自動生成していける点があります。簡単なcrudなんかはbakeしてちょっとデザイン変えたりすれば、すぐにでも使えるレベルです。とはいえ、標準のbakeでは以下 […]

今日は超短いTipsです。 CakePHP2で作ったアプリケーションを以下のような構成に配置した場合の話です。 そのままでは、CakePHPのredirect関数が呼ばれた場合に、直接Webサーバ側に転送しようとしてしま […]

アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするという […]

マイグレーションを使わないで、データベースのスキーマ構成を変更したりすると、特に複数人で開発しているような場合にこんなことが起こったりします。 自分の開発マシンとテストサーバ等でスキーマ構成が違っている さらには他人の開 […]

みなさんこんにちは。@ryuzeeです。 ComposerはRubyでいうところのBundlerのようなもので、アプリケーションが必要とする外部ライブラリを、そのアプリケーション固有の状態で一元的に管理してくれるツールで […]

みなさんこんにちは。@ryuzeeです。 CakePHP2.0になってテスティングフレームワークがSimpleTestからPHPUnitに変わったことで、以前に比べると大分簡単にはなっていますが、まとまった情報が少ないの […]

みなさんこんにちは。@ryuzeeです。 アジャイルな開発を行って頻繁にデータベースのスキーマを変更したり頻繁にプロダクション環境にリリースしたりCIサーバで継続的にテストをしようとすると、データベース回りの変更をきちん […]

みなさんこんにちは。@ryuzeeです。 Behatは良さそうなので引き続き検証しています。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について説明しましょ […]

みなさんこんにちは。@ryuzeeです。 RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようですが、PHPでやっている事例はあまり聞きません。 とりあえずPHPでもBDDでき […]

みなさんこんにちは。@ryuzeeです。 CakePHPでファイル出力系の機能のテストを行う場合のTipsをご紹介します。 例えばコントローラーの中でこんなファイル出力系の機能があったとします。 function out […]

Hudson+PHPシリーズです(Javaとか他の言語でもいけるはずです)。 phpmdって何? phpmdはPHP Mess Ditectorの略で、PHPコードの潜在的なバグになりそうな箇所や実装上の問題を検出してく […]

Hudson等を使った継続的インテグレーションでは、テストの自動実行の他にも、ドキュメントの自動作成、コーディング規約の自動チェック、重複コードのチェック(DRY原則のチェック)等を行うことができるし、実行するべきである […]

みなさんこんにちは。@ryuzeeです。 QdsmtpはオープンソースSMTP用ライブラリで、こちらから入手できます。 僕はCakePHPでQdmailとQdsmtpの組み合わせでメールを送信することが多いのですが、今回 […]