<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.2" -->
<rss version="0.92">
<channel>
	<title>開発メモのようなもの</title>
	<link>http://dev.msng.info</link>
	<description>msngが開発のようなことをしていて気づいたことをメモする場所です。</description>
	<lastBuildDate>Sun, 10 Aug 2008 15:08:36 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>CakePHPの $this-&gt;data の中身の行方</title>
		<description>CakePHP 1.2.0.7296 で起きたこと。
$this-&#62;data はビューからも呼び出せるけど
なぜか消えちゃうデータが。
ビューから$this-&#62;data を呼ぶと、
なぜか全角文字が消滅する。
同じフォームから半角英数字を入れたら
普通に受け取れるのに、
全角文字をいれたら空になってる。
何ですかこれは。
手元の環境でそうなっているだけなのか
常にそうなるのか
そもそも仕様なのかはわからない。
ともかくメモ。
 </description>
		<link>http://dev.msng.info/2008/08/11/cakephp%e3%81%ae-this-data-%e3%81%ae%e4%b8%ad%e8%ba%ab%e3%81%ae%e8%a1%8c%e6%96%b9/</link>
			</item>
	<item>
		<title>CakePHP 1.2 のRC1が出てる</title>
		<description>CakePHP のバージョン1.2.0.7125 RC1 が出てる。
Release Candidate（リリース候補）ね。
安定版まであと一歩ですか。 </description>
		<link>http://dev.msng.info/2008/06/11/cakephp-12-%e3%81%aerc1%e3%81%8c%e5%87%ba%e3%81%a6%e3%82%8b/</link>
			</item>
	<item>
		<title>CakePHP: Securityコンポーネントが動かない</title>
		<description>バージョン 1.2.6311 にて。
動かないというより、token はセットされてるのに全部弾かれてる。

今のところ原因不明です。 </description>
		<link>http://dev.msng.info/2008/03/12/cakephp-security%e3%82%b3%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%8d%e3%83%b3%e3%83%88%e3%81%8c%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84/</link>
			</item>
	<item>
		<title>CakePHP: $this-&gt;Model-&gt;del()で削除できない件</title>
		<description>これも 1.2.6311 固有の不具合だと思われ。

データベースによって、
$this->Model->del()
が動作する場合としない場合がある模様。

MySQL についていえば、
5系はいけるけど4系はダメなのかな？
テストまでしてないからわかりません。

で、これは 1.2.6311 の
cake/libs/model/datasources/dbo_source.php
が吐き出す SQL に問題がある模様。
新しいソースを持ってきたら直った。

/branches/1.2.x.x/cake/libs/model/datasources/dbo_source.php - CakePHP : The Rapid Development Framework for PHP - Trac

まあβですから。 </description>
		<link>http://dev.msng.info/2008/03/12/cakephp-this-model-del%e3%81%a7%e5%89%8a%e9%99%a4%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84%e4%bb%b6/</link>
			</item>
	<item>
		<title>CakePHP: tmpディレクトリの中身に注意</title>
		<description>CakePHP は tmp ディレクトリに書き込みを行うので
PHP 実行者の権限で書き込みができるようにする
（実際にはなってなくても一応動くみたいだけど）
のだが、なぜかそうすると router が見つからないというエラーが出ていた。


Fatal error: Undefined class name 'router' in /home/***/***/cake/dispatcher.php on line 333


書き込み可にしたらエラーが出るという
よくわからない事態にしばらく悩んでいたのだが、
実に簡単な理由だった。

ローカルでテストしたときに tmp/cache にできていたキャッシュファイルが
そのまま一緒にアップロードされて、
それを利用しようとしていたせい。


	tmp/cache/models
	tmp/cache/persistent
	tmp/cache/views


の3つをカラにして、解決。 </description>
		<link>http://dev.msng.info/2008/03/04/cakephp-tmp%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e3%81%ae%e4%b8%ad%e8%ba%ab%e3%81%ab%e6%b3%a8%e6%84%8f/</link>
			</item>
	<item>
		<title>CakePHP: 対象データがなかった場合のFindとFindAllにおける戻り値の違い</title>
		<description>CakePHP で使うモデルのメソッド Find と FindAll で、対象データがなかった場合は戻り値が少し違う。

Find と FindBy の場合、対象データがなかったら false が返ってくる。

それに対して FindAll と FindAllByの場合は false ではなく空の配列が返ってくる。

ということはどういうことかというと、


if (!$this->User->FindAllById($id)) {
    //対象データがなかった場合の処理
}


なら期待どおり動くが


if ($this->User->FindAllById($id) === false) {
    //対象データがなかった場合の処理
}


ではダメということ。

Find, FindBy なら false が返ってくるからどっちでもいける。

対象データの存在確認をするなら findCount で調べればいいわけで、そのために findAll を使うことはないかもしれないけど、例えば


$users = $this->User->FindAllByGroupId($group_id);
if ($users === false) {
    //対象データがなかった場合の処理
}


は、ついやってしまいそうな気がする。しない？ </description>
		<link>http://dev.msng.info/2008/02/29/cakephp-%e5%af%be%e8%b1%a1%e3%83%87%e3%83%bc%e3%82%bf%e3%81%8c%e3%81%aa%e3%81%8b%e3%81%a3%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%aefind%e3%81%a8findall%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b%e6%88%bb%e3%82%8a/</link>
			</item>
	<item>
		<title>WordPressでドメインを変更するとき</title>
		<description>まあ当たり前なんだけど、やってしまったのでメモ。

このブログじゃないんだけど、WordPress でつくったもののサブドメインを変えたら管理画面にアクセスできなくなった。というよりブログ自体まともに表示されなくなった。

WordPress は URL を管理画面の「各種設定」→「一般設定」で設定するようになっていて、ログインするための画面や CSS ファイルなどの場所もそれを見てリダイレクトなり読み込みなりしている模様。

なので WordPress でドメインを変更するときは、先に両方のドメインでアクセスできるようにしておいてから、そのあと管理画面で設定するのがいいかな。 </description>
		<link>http://dev.msng.info/2008/02/28/wordpress%e3%81%a7%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d/</link>
			</item>
	<item>
		<title>CakePHP: viewで使われる__(&#8217;文字列&#8217;)</title>
		<description>view でやたら

__('文字列')

っていうのが出てくる（アンダーバー2つね）から何かと思ったら、 国際化のための関数らしい。

&#187; CakePHP のおいしい食べ方: CakePHP1.2の簡単国際化

単語を置き換えるだけでいい部分は、これをやっとくといいかな。 </description>
		<link>http://dev.msng.info/2008/02/28/cakephp-view%e3%81%a7%e4%bd%bf%e3%82%8f%e3%82%8c%e3%82%8b__%e6%96%87%e5%ad%97%e5%88%97/</link>
			</item>
	<item>
		<title>CakePHP : formヘルパーで画面が真っ白になる</title>
		<description>バージョン1.2.0.6311のバグかな？

formヘルパーで


$form->input('User/group_id', array(
    'type' => 'select',
    'options' => $groups,
    'selected' => $user['User']['group_id'],
));


などとしている場合、そもそも User.group_id が存在しなかったら renderしても画面が真っ白になる。

もちろん存在しないものを指定しようとしているのだからミスなんだけど、でも真っ白て。

原因を特定するのに手間取ってしまったのでメモ。 </description>
		<link>http://dev.msng.info/2008/02/18/cakephp-form%e3%83%98%e3%83%ab%e3%83%91%e3%83%bc%e3%81%a7%e7%94%bb%e9%9d%a2%e3%81%8c%e7%9c%9f%e3%81%a3%e7%99%bd%e3%81%ab%e3%81%aa%e3%82%8b/</link>
			</item>
</channel>
</rss>
