CakephpでModelのテスト時に、$this->dataにデータを渡したいとき

Jul 24, 2012
AD:

先日書いた独自Validationで、そのテスト書く際に地味に悩んだのでメモしておきます。
ちなみに、Fixtureは設定しておいてください。

User.php

下記のようなValidationをTestしたいとします。

UserTest.php

Readしてやるとdataの中にデータを渡せるらしい。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0

CentOS6 64bitに最新php(5.3.13)をyumでインストール

May 14, 2012
AD:

標準だと5.3.3です。
せっかくのなので、最新のphpをインストールしたい

外部レポジトリのRemiの追加

これで終わり、さっそくテスト、phpが5.3.13になっているの確認

インストール

必要なパッケージもあわせてインストール

インストールの確認

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 7 | Pocket: 3 | Total: 10 | Feedly: 0

Cakephpでモデル名を取得する

Apr 28, 2011
AD:

僕が使っているのは、下記の方法です。

[php]
$this->modelNames[‘0’]
[/php]

Cakephp1.2.*、1.3.*で動作は確認済みです。

皆さんどのように取得していますか?
なにかおすすめな方法がありましたら、教えてください。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0

CentOSにfastcgiの導入&mod_phpとの比較

Apr 3, 2011
AD:

今週の木曜日に、Sydphpに行ってきました。
今回のお題は、Aimee-Maree Forsstromがmod_phpとfastcgiの比較、Phil Taylorがセキュリティについて話す予定でしたが、急遽が参加できなくなったので、@predominantがオープンソースの活用&運営について話してくれました。

せっかくだったので、自宅にかえって早速fastcgiを導入してみました。
fastcgiの存在は知っていたのですが、導入の経験がないので自宅サーバに導入(CentOS5.5,Apache2.0)検証してみました。

fastcgiについて

@aimee_mareeのスライドはこちらで確認ができます。

mod_phpとfastcgiを比較して、いかにfastcgiがが素晴らしいかを説いてくれました。
@aimee_mareeのまわりでも、圧倒的にmod_phpが一般的で、そのことがかなり腹立たしいとのことです。
要因としては、Apacheの標準であること、ホスティングサーバがmod_phpを使用していること、fastcgiの情報がまだまだ少ないことが原因のようです。
僕の英語力では、70%ほどしか理解できなかったのですが、こちらのページに日本語で詳細が記載してあるのでこちらをご確認ください。
FastCGI環境を構築する – ぱせらんメモ

CentOSにインストール

ちなみに、fastcgiには、mod_fastcgimod_fcgidの2種類があるようです。
今回は、mod_fcgidが早いとのことなので、mod_fcgidを導入しました。
検討に参考にさせてもらったサイト
Apache2 – mod_fcgid vs mod_fastcgi
Apache/FastCGI

すこし手間取ったので、そのトラブルと解決方法も記載しておきます。

最新mod_fcgidをcheckout、APXSのエラー

httpd-develのインストール&APXSのパスを指定して再度インストール

mod_fcgidの設定

ちなみに、mod_phpで構築してあるのですが、mod_fcgidとの共存が可能です。
下記のfcgid.confの中で場所を指定出来るようです。

参考サイト
Apache Module mod_fcgid

インストール後は、phpinfo()でmodの中にmod_fcgidが表示されるようになります。

ベンチマークしてみる

せっかくなので、mod_phpとの比較したいので、ベンチマークをやっておきました。

phpのベンチマーク
PHPのベンチマークはPearのBenchmark
下記のコマンドでインストール

ベンチマークは、下記の参考サイトにある、フィボナッチ数列のベンチマークを使用しました。
僕の認識では、php自体の処理に関しては、変わらないはず。間違ってるかな???結果的には、やはりほぼ変わらず。
コードの最適化に役立つPHPスクリプトのベンチマーク

PHPのベンチマーク結果

導入前
beafore
beafore2
導入後
after1
after2

Apacheのベンチマーク
Apacheのベンチマークは、標準ではいっているabを使用しました。
apacheのベンチマークように、Wordpressをいれて、予め記事の中にいくつかの画像などを追加したものを準備しておきました。
下記のコマンドでベンチマークを取りました。

apacheのベンチマークは下記のサイトで詳細が確認できます。
@IT:Apacheパフォーマンス・チューニングのポイント(2/2)

Apacheのベンチマーク結果

導入前

導入後

最後に

実際に導入してみたけど、上記の設定であっているのか不安でもありますので、
なにか間違っているところがありましたら、ご指摘いただけましたら幸いです。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 3 | Pocket: 1 | Total: 4 | Feedly: 0

CakephpのAuthComponentに認証なしのAction追加

Mar 3, 2011
AD:

Cakephpで構築したサイトにAuthComponentを使用して、ユーザ機能を実装していた際に、
微妙に悩んだのが、UsersControllerの中で、addのアクションだけ、認証の必要なしにアクセスするの方法です。
答えは、beforeFilterに、$this->Auth->allow(‘add’);を入れれば解決でした。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 1 | Pocket: 0 | Total: 1 | Feedly: 0

Sydphpの10月のMeetingに行ってきました。

Nov 1, 2010
AD:

今週の木曜日にsydphpの10月のMeetingに行ってきました。
先月は日本に帰国中だったので参加できませんでしたが、今回で三回目なのでだいぶ顔見知りも増えてきてどんどん楽しくなってきました。

Meeting内容

今回のMeetingは、Yahoo!7から@jadzor@steveathon の二人が来てくれました。
まだMeetingの際に使用した資料は公開されていないので、僕の未熟な英語力と、貧弱な記憶力を使ってを紹介したいと思います。
また資料の公開がありましたら、こちらで紹介させてもらいます。

(More…)

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 1 | Pocket: 0 | Total: 1 | Feedly: 0

Smartyで配列のキー名にハイフン(-)がある場合の対処法

Oct 25, 2010
AD:

最近、XMLのデータをSmartyで使うことが多々あります。
そこで、配列のキー名の中に、hoge-1,test-2などの名前があった場合、「-n」のところが演算子扱いなって困っていました。

解決方法

[php]
{$value->{‘hoge-1’}}
[/php]
地味に悩みました。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0

Sydphpのイベントに行ってきました。

Apr 21, 2010
AD:

はじめてのシドニーで開発関係のイベント参加

今回行ってきたイベントはSydphpのミーテイングです。

オーストラリアに来ては、はじめて開発関係のイベントでした。
以前から行こうと思っていて、日程とスケジュールが合わずに断念していたましたが、今回は約1ヶ月前から事前に予定を開けておいたので無事参加することができました。

イベント内容について

はじめは簡単な自己紹介からスタートしました。
名前、今やっているプロジェクト、php歴などを話しました。
メンバーにはphpを使いだして、6ヶ月の人もいれば7年も使っている人もいました。
驚いたことは、年齢層がかなり高かったことです。30後半から、40代の人が6割ぐらいを占めていました。

Steven Roddis – Two Factor Authentication

phpとSwekeyを使っての認証についての内容でした。
僕の英語力では6割しかわかりませんでしたが、たまに見るネットバンクのログインに使用するランダムパスワードのハードや、
会社などに入る際に必要なカードキーなどを、phpとパソコンで作ってしまうみたいな内容でした。
オーストラリアのSMSの会社が紹介されたあたりは、業務と関係してて勉強なりました。
紹介されていたSMSの会社「http://www.smsglobal.com/en-au/」

Steven Roddisさんのサイト
http://stevenroddis.com/

Graham Weldon – Unit Testing with PHP

Unit Testのなぜ使うべきなのか、実務の中でも使用方法などを簡略にわかりやすく説明してくれました。
最近、Cakephpを使っているので、SimpleTestを触ろうところだったので、勉強になりました。
またGraham Weldonさんは、Cakephpの開発に関わっているようで、実際にCakephpをUnit Testでチェックしているのを見れたのもよかったです。
本人はCPU関係の開発者らいいです。

Graham Weldonさんのサイト
http://grahamweldon.com/

その他

イベントで、隣に座った、Travisにいろいろとオーストラリアの開発者や、WEB事情の話しが聞けたのはかなりの大きな収穫でした。また一緒にイベントに参加するつもりです。

ちなみにオーストラリアでは、プログラマーという呼び名の職種はなくて、日本で言うところのプログラマーはDeveloperになるようです。
で、Developerは、システムエンジニアも職種も含むようです。

まとめ

イベントが終わった後は、あっさり解散したのですが、Travisとしばらくいろいろと話せて楽しかったです。
イベントでは、いい刺激になるし、同じ職種の人と知り合いになれるのもいいですね。

いろいろと勉強になったので、次回も是非参加したいと思います。

ちなみに次回のイベントは4月30日にLinuxユーザのイベントがgoogleオフィスにであるので、それに参加する予定です。
ご興味ある方はぜひ一緒に行きましょう。

Twitterからでも声をかけてください。
http://twitter.com/ayumi

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 1 | Pocket: 0 | Total: 1 | Feedly: 0

CakephpでMysqlで取得したデータのみだけ文字化け

Mar 9, 2010
AD:

CakephpでMysqlで取得したデータのみだけ文字化けの現象がおきましたので、その時の解決法をメモしておきます。

解決法

/app/config/database.phpに文字コードを指定

上記の設定で解決できました。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0

Mysqlの大文字と小文字の区別

Feb 23, 2010
AD:

CakephpでWindowsのローカル環境で開発して、Linuxのサーバに公開したときにひかかったので記載しておきます。
Windowsなど、一部のOSはMysqlは、テーブル名など名前の大文字・小文字は区別しないようです。
Linuxの環境下では、大文字・小文字の区別はするのでCakephpでエラーがでた次第です。
(More…)

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 1 | Pocket: 0 | Total: 1 | Feedly: 0

ARCHIVES