Php

 2010/10/31

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

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

 2010/10/23

Hudson+phpmdでPHPコードの問題を自動検出する方法

Hudson+PHPシリーズですよ。 (Javaとか他の言語でもいけるけど) phpmdって何? phpmdはPHP Mess Ditectorの略で、PHPコードの潜在的なバグになりそうな箇所や実装上の問題を検出してくれるツールである。例えば未使用の変数の指摘、多数のpublicメソッドのある巨大クラスの検出、一文字 (続きを読む)

 2010/10/18

CakePHPアプリをHudsonで継続的インテグレーションする方法

この記事はCakePHP1.2系またら1.3系を対象としており、CakePHP2.0系では別のアプローチになります。 不思議なことにCakePHPアプリの開発でHudson使って継続的インテグレーションしている事例をほとんど見たことがないんだけど、個人的にはPHPアプリだって全部HudsonでCIすべきと思っているの (続きを読む)

 2010/09/27

Hudson+phpcpdで継続的に重複コードをチェックする

Hudson等を使った継続的インテグレーションでは、テストの自動実行の他にも、ドキュメントの自動作成、コーディング規約の自動チェック、重複コードのチェック(DRY原則のチェック)等を行うことが出来るし、実行するべきである。 今回は、PHP+Hudsonの環境でコードの重複を継続的にチェックできるようにしてみた。 php (続きを読む)

 2010/08/27

PHPで波ダッシュ問題にハマった

自動テスト環境をWindowsからLinux環境にしたとたんに、テストが通らないものが頻発して、初めて開発者がhtmlの中に機種依存文字である波ダッシュを埋め込んでくれていたのに気づいた。。orz 以下Wikipediaから引用。 Unicodeの仕様書では、U+301C WAVE DASH(波ダッシュ)に、「JIS  (続きを読む)

 2010/08/07

動画配信プラットフォームのkalturaを試してみた

1. kalturaとは http://www.kaltura.org/ 日本語の機能説明は http://www.kaltura.jp/technology/technology.html kalturaは、PHPで作成された動画配信プラットフオームで、有償版のバージョンと、CEと呼ばれるオープンソースバージョンが (続きを読む)

 2010/05/31

MongoDBを試してみた

久々のどうでもよい話。 別にKVSなんて今に始まった話でもないんだけど、ちと仕事で使うかもしれないので試してみた。 MongoDBって何よ? 以下の特徴をもつ所謂NoSQLデータベースの1つ。(特徴の日本語訳はこのへん) ドキュメント指向のストレージ フルインデックスをサポート レプリケーションと高い可用性 自動シェ (続きを読む)

 2010/05/28

CakePHP データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehavior作った

もうタイトルのまんまですが、データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehaviorを作りました。 自分で作っているアプリケーションで、データ更新時の変更履歴を表示させたいと思ったのだが、対象テーブルが沢山あっていちいち似たような実装をあちこちに作るのは気が狂いそうなので汎用化しちゃえ、という (続きを読む)

 2010/05/25

CakePHP UNIONして取得したデータをページングする方法

別にUNIONに限らず、生のSQLを投げて取得したデータは、何でも同じようにページングできる。 肝 ページングのために利用する新しいモデルを作成する そのモデルでは$usetable=falseに設定し、既存のテーブルとは関連付けしない。 そのモデルにおいて、paginate関数とpaginateCount関数をov (続きを読む)

 2010/05/19

CakePHP actionの応答をXMLやjsonに切り替える超簡単な方法

Webserviceコンポーネントを使うと、既存のコントローラーにほとんど手を入れることなく、簡単に応答をXMLやjsonに切り替えることが出来る。 Webserviceコンポーネントは、Jose Diaz-Gonzalez氏が作成し、MITライセンスで公開されている。 入手およびインストール git://github (続きを読む)

 2010/05/12

CakePHP RailsのようなMigrationを行う方法

CakePHP標準だとRailsのような差分情報を含めたスキーマの管理ができず、不特定多数に配布するアプリケーションでの更新が困難だったり、開発現場でも人によってスキーマが異なってしまったり、といった問題が起こりやすかった。 このような問題を解決するのがCakePHP Migrations Pluginだ。 CakeP (続きを読む)

 2010/05/10

CakePHP app_model.phpはmodelディレクトリの中に置いてはいけない

ハマったのでメモ。 $ cake schema generate Welcome to CakePHP v1.3.0 Console --------------------------------------------------------------- App : app Path: /home/ryuzee/ (続きを読む)

 2010/04/15

EclipseでCakePHPのMVCを切り替える

かなり今更な自分用メモ。プラグインで解決できる。 http://opencakefile.sourceforge.net/ にアクセスして、org.xicabin.cakephp.opencakefile_1.0.0.jarを入手 %ECLIPSE_HOME%/pluginsに入手したjarを配置して、eclipse (続きを読む)

 2010/04/07

PHPのSMTP接続ライブラリQdsmtpのエラー処理

QdsmtpはオープンソースSMTP用ライブラリで、こちらから入手できる。 僕はCakePHPでQdmailとQdsmtpの組み合わせでメールを送信することが多いんだけど、今回真面目にエラー処理をする必要があったので調べてみた。 で、以下が僕の実装なんだけど、たぶんQdmailでの定石だと思うのでメモしておく。 大事な (続きを読む)

 2010/04/07

CakePHP1.3でハマったことのメモ

2010/04/08にタイトル変更しました。すまんです。実は1.2.6を使っていたつもりで、1.3RCを使っていたというオチでした。 ちなみに以下の話は1.2系から1.3系に移行する場合はそのまま適用できます。 最近オープンソースのScrum支援ツールを作っていて、CakePHPを使っているのだが、最新の1.3RCで細 (続きを読む)

 2009/10/18

cakephp Schemaを使って初期データも突っ込む方法

cakephpではSchema機能を使ってテーブルを作成することが出来る。 で、ついでにマスター系データもまとめて登録する方法が【CakePHP】お手軽便利なCakeSchemaに載っている。 ただ載っている方法には若干問題がある。 そもそもcakephpでは、テーブルを使わないモデルでは$useTable=fals (続きを読む)

 2009/07/07

CakePHP 一括でカバレージを取得する方法!!

7/8にcoverage_reporter.phpの修正について若干追記 前提 XAMPP1.6.6 CakePHP1.2 環境準備 SimpleTestの開発レポジトリにあるカバレージ測定ツールを使う。 標準のアーカイブには含まれていないので、svnから取得する。 svn co https://simpletest (続きを読む)

 2009/07/06

PHP SimpleTestのメッセージ出力の不具合を修正

phpUnderControl連携をしていて気づいた問題。 SimpleTestでは、assertWantedPattern等で、文字列中から該当する文字列を正規表現で探すといったテストが出来る。このテスト結果を表示する際に検索範囲文字列が100~200文字を超えると、間の文字列がカットされて…と表示され (続きを読む)