2013.08.18 Sunday
cakephp1.3 simpletestの導入
cakephp1.3
centos5.8
にsimpletestを導入したのですが、マニュアルのとおりにやってもだめだったので、メモ。
・simpletest1.0.1をダウンロード
wget http://sourceforge.net/projects/simpletest/files/simpletest/simpletest_1.0.1/simpletest_1.0.1.tar.gz/download
※バージョン1.1は使えないので、注意
・解凍して、app/vendorsフォルダにおく
http://ドメイン名/CakePHPのフォルダ/test.php
にアクセス
以下の警告がでたら、、
Warning (2): htmlentities() [function.htmlentities]: charset `ANSI_X3.4-1968' not supported, assuming iso-8859-1
[CORE/cake/tests/lib/reporter/cake_html_reporter.php, line 376]
vi cake/tests/lib/reporter/cake_html_reporter.php
38行目と39行目を入れ替える
//$params = array_map(array($this, '_htmlEntities'), $params);
//$this->CakeBaseReporter($charset, $params);
$this->CakeBaseReporter($charset, $params);
$params = array_map(array($this, '_htmlEntities'), $params);
再度、
http://ドメイン名/CakePHPのフォルダ/test.php
にアクセス
・phpのバージョンが5.2.0以前の場合、array_fill_keys()がエラーになるので、以下を追加して代替。
vi cake/tests/lib/cake_test_fixture.php
function array_fill_keys($arr, $val) {
foreach ($arr as $key) {
$rtn[$key] = $val;
}
return $rtn;
}
再度、
http://ドメイン名/CakePHPのフォルダ/test.php
動きました。
・カバレッジを確認したいので、続いてxdebugのインストール
yum install php-devel
(phpizeに必要)
yum install gcc
(makeに必要)
・xdebugのダウンロード、ビルド
git clone https://github.com/derickr/xdebug
cd xdebug
phpize
./configure --enable-xdebug
make
・xdebugの配置、設定
cp module/xdebug.so /usr/libexec/apache2/.
vi /etc/php.ini
以下を追加
[xDebug]
zend_extension="/usr/libexec/apache2/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
apache再起動
/etc/rc.d/init.d/httpd restart
2013/8/19
array_fill_keysが間違っていたので、修正しました。
これでカバレッジまでOK。
2013.08.13 Tuesday
【CakePHP】mod_rewriteの設定
CakePHP1.3を仕事で使ってるんですが、環境構築して、いざ開発を始めたところ、コントローラが動かなくてハマりました。
弊社の新人にやってみてといったら、あっさり解決してくれました。
すごいやつ。
そのときのメモ。サーバはcentos5.8。
1.mod_rewriteを有効にする。
vi /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
となっていること。
⇒これはなってた。
2. .htaccessを有効にする。
vi /etc/httpd/conf/httpd.conf
<Directory "/home/htdocs">
Options FollowSymLinks
AllowOverride All
</Directory>
⇒これはなってなかった。
指定ディレクトリに
・シンボリックリンクを認識
・.htaccessの利用を許可
を設定している。
httpd再起動
/etc/rc.d/init.d/httpd restart
3.アプリケーション直下に.htaccessファイルを作成する。
⇒これもなかった。
vi .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
これでできました。
mod_rewriteを有効にしない場合、以下のアドレスでコントローラを呼ぶ。
http://cakeのパス/index.php/コントローラ/メソッド/パラメータ
これは、カッコ悪いね。
参考
2013.02.23 Saturday
cakephp設計の勘所
3月からcakephpでシステム開発をするので、cakephp開発において気をつけたい点をまとめました。
黒川さん、みてください!
検証はしていないので、調査、想像の域で作成しています。
誤りやよりよい情報がありましたら、ご指摘いただけると幸いです。
はじめてrvl.ioというプレゼンテーション作成サービスを使いました。
wyswygで記述するのですが、書いたり消したりを繰り返すうちにタグが汚くなっていき、、
結局htmlエディタで調整しました。。
そんなものかなとも思いますが、どうにかならないでしょうか。
webに資料を置けるという点は非常に便利。