Php

 2014/09/04

CakePHPで学ぶ継続的インテグレーション 発売のお知らせ(9/19)

最近めっきりブログ更新頻度が減っててすいませんすいません。 ということでタイトルの通りなのですが、このたび9月19日に「CakePHPで学ぶ継続的インテグレーション」(インプレス)が発売になりますのでお知らせいたします。 本の表紙はこんな感じになります。発売までまだ2週間くらいありますが、既にAmazonで予約を開始し (続きを読む)

 2012/11/30

CakePHP2のbakeコマンドを拡張する方法

CakePHPの良いところの1つに、bakeコマンドでどんどん自動生成していける点があります。簡単なcrudなんかはbakeしてちょっとデザイン変えたりすれば、すぐにでも使えるレベルです。とはいえ、標準のbakeでは以下のような問題があります。 標準ではcrudだけで、index()、add()、 edit()、vi (続きを読む)

 2012/11/21

LB(SSL)→サーバ(非SSL)環境でCakePHP2のリダイレクトを正しく行う方法

今日は超短いTipsです。 CakePHP2で作ったアプリケーションを以下のような構成に配置した場合の話です。 そのままでは、CakePHPのredirect関数が呼ばれた場合に、直接Webサーバ側に転送しようとしてしまい大変なことになってしまいます。 これを防ぐためには、以下のような定義を app/Config/bo (続きを読む)

 2012/11/12

CakePHP2アプリケーションをCapistranoでデプロイする

アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするということはとてつもなく多くの時間を手作業に費やすことになる デプロイ先の環境の数が多くなればなるほど作 (続きを読む)

 2012/11/08

CakePHP2系でマイグレーションを利用する方法

マイグレーションを使わないで、データベースのスキーマ構成を変更したりすると、特に複数人で開発しているような場合にこんなことが起こったりします。 自分の開発マシンとテストサーバ等でスキーマ構成が違っている さらには他人の開発マシンともスキーマ構成が異なっている しかもどっちがあっているか分からない 例えば、みんな (続きを読む)

 2012/11/04

資料公開 CakePHP+Jenkinsによるアジャイル開発

2012年11月3日,4日の二日間にかけて行われている(現在進行中)PHPMatsuri 2012で、登壇させていただきました。 その際の資料を公開しておきます。 もう既にSpeakerDeckのURL流しちゃってタイミング逃した感はあるのですがw 内容は過去にやったワンクリックデプロイ勉強会の内容にCakePHPっ (続きを読む)

 2012/10/31

CakePHPのアプリのコーディング規約チェックを自動で行う方法

PHPで書かれたソースコードがコーディング規約に準拠しているかどうか確認するには、PHP_CodeSnifferというツールを使うのはよくご存知だと思いますが、今回はCakePHPを使って書いたソースコードの規約をチェックする方法を紹介します。なお、このような規約チェックはローカル環境で気が向いた時にやるだけではなく、 (続きを読む)

 2012/06/02

PHPの外部ライブラリの管理にComposerを使う

ComposerはRubyでいうところのBundlerのようなもので、アプリケーションが必要とする外部ライブラリを、そのアプリケーション固有の状態で一元的に管理してくれるツールだ。 PHPではPearのようなコマンドを使ってライブラリをインストールすることが一般的ではあるが、アプリケーションによって必要とするバージョン (続きを読む)

 2012/05/25

CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法

CakePHP2.0になってテスティングフレームワークがSimpleTestからPHPUnitに変わったことで、以前に比べると大分簡単にはなっているが、まとまった情報が少ないので整理しておく。 事前準備 JenkinsのインストールおよびCIサーバへのPHPのインストールは済ませておくこと。 CakePHP2.0でCI (続きを読む)

 2011/10/19

Doctrine1でDBのマイグレーションを行う

アジャイルな開発を行って頻繁にデータベースのスキーマを変更したり頻繁にプロダクション環境にリリースしたりCIサーバで継続的にテストをしようとすると、データベース回りの変更をきちんと管理していくというのが非常に重要になります。 アマチュア的なアプローチだと毎回差分のsql文を書いて手でデータベースに食わせていくのですが、 (続きを読む)

 2011/06/04

PHP PaaS Pagoda Boxを使ってみた

Pagoda Boxは、PHPアプリケーションをホスティングしてくれるPaaSのサービス。 中の人からPrivate Betaの招待を貰ったので早速試してみた。 Pagoda Boxの特徴 githubから直接コードをDeployする(逆にいうと全てのコードはgithub経由でしかDeployできない) 前バージョ (続きを読む)

 2011/03/28

php phpdcd (Dead Code Detector)を試してみた

phpdcdはPHP Dead Code Detector という名の通り、使っていないコードを検出してくれるツールである。 ウノウラボさんのPHPで利用出来るテストと開発に便利なツールで知ったので評価してみた。 なお、Dead CodeについてはWikiPediaのこのページが詳しい。 インストール 普通にpearコ (続きを読む)

 2011/02/12

BehatとSeleniumを組み合わせ受け入れテストを自動化する

Behatは良さそうなので引き続き検証中。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について書いてみることにする。 なお、前回の記事を読まれていない場合は一読をおすすめする。 → PHPでBDD(Behavior Driven Development)す (続きを読む)

 2011/02/12

BehatとSeleniumを組み合わせ受け入れテストを自動化する

Behatは良さそうなので引き続き検証中。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について書いてみることにする。 なお、前回の記事を読まれていない場合は一読をおすすめする。 → PHPでBDD(Behavior Driven Development)す (続きを読む)

 2011/02/10

PHPでBDD(Behavior Driven Development)する方法

RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようだが、PHPでやっている事例はまったく聞かない。 とりあえずPHPでもBDDできることは確認できたので、その方法のご紹介。 ※実戦投入にはもうちょっと検証は必要。 BDDってなんだ? BDDとはビヘイビア駆動開発(Behav (続きを読む)

 2010/11/22

CakePHPアプリをNetBeans+xdebugでデバッグする

2012/5/26 追記と修正を行いました よくあるパターンの割に、Eclipse(PDT)での解説しかないので、今後利用する人のために手順を残しておく。 確認した環境は以下の2つだ。 MacOS X(Snow Leopard) + NetBeans6.9.1 + CakePHP1.3 + xdebug2.1.0。 (続きを読む)

 2010/11/14

CakePHP ファイル出力機能のテストをする

CakePHPでファイル出力系の機能のテストを行う場合のTips。 例えばコントローラーの中でこんなファイル出力系の機能があったとする。 function output() { $this->lauout = null; $filename = "test.txt"; header(&quot (続きを読む)

 2010/10/31

CakePHP1.3でテストのカバレージを取得する方法

以前CakePHP1.2についての手順を書いたが、基本的な流れは変わらない。 今回の環境はCentOS5.5。 必要なものをインストール xdebugのインストール 最新は2.1.0で、以前はバージョン指定してモジュール取ってきて自前コンパイルしないと動作しなかったが、現在のバージョンは問題ない。 pecl insta (続きを読む)