2009/05/26 by マッチー
PHPにcompactという関数がある。
複数の変数から一つの配列を作りたいときに使うものらしい。
例えばCakePHPでビューにデータを送るときなんかに使ったりする。
$data = $this->Model->find('all');
$this->set(compact('data'));
この二行目は以下の一行と同義。
$this->set('data', $data);
まあ、上記のように変数が一つしかないような場合だったらわざわざ
続きを読む
2009/05/25 by マッチー
今日はちょっとだけ前回の更新に関係があると言いつつもCakePHPに関する事柄というよりはソースを書く上での個人的な意見なのだけど、CakePHPでコーディングをしていると、配列が非常によく出てくる。それも多次元配列である場合が多い。配列の中に配列があって、その中にさらにまた配列があって・・・・・・と、配列の次元(っていう表現で良いのか?)が増えれば増えるほど、見づらい。自分で書いたソースなのに、どうなっているのかパッと見じゃ分からなくなることもままあったりする。
この多次元配列、どう書くのが
続きを読む
2009/05/21 by マッチー
送信したデータを保存するとき、saveじゃなくてsaveallを使えば、アソシエーションによって関連付けられたモデルのデータも一緒に保存することができる。
ただ、hasmanyで関連付けたデータは整数のインデックスがついた配列で渡されるので、ちょっと注意が必要。
たとえば、userとclientというモデルがhasmanyで関連付いているとして何か適当なデータを送ると、$this->dataにはこんな感じでデータが入る。
array([User] =>
arra
続きを読む
2009/05/20 by マッチー
何かしらの入力画面の中にセレクトボックスがあったとする。
ボタンを押してデータを入力する際、エラーがあれば入力画面に戻ってくるのが一般的だと思うけれど、その際に入力したデータは保持されているのが望ましい。エラーのたびに一から全部入力し直すのはだるいもんね。
それでセレクトボックスなんですけど、cakePHPはちゃんとセレクトボックス用のヘルパーも用意されている。たいしたやつだ。
<?php echo $form->select($fieldName, $options =
続きを読む
2009/05/18 by マッチー
MySQLでどうしても文字化けが直らない
localhostでDBにデータを格納する際に、実は全角文字がずっと文字化けしていたのだけど、それはphpMyAdminの中だけで、実際にphpファイルの中でデータを出力すると問題なく入力したデータが表示されていたので、基本的にこの問題についてはずっと無視していた。
でもまあ、いつまでも放っておくのもあれかなと思い、文字化け問題の解決に乗り出すことにした。
文字のエンコードはUTF-8。eclipseを使って各ファイルを生成する際にもちゃんとUTF-
続きを読む
2009/05/15 by マッチー
僕が現在CakePHPの練習のために作っていたブログシステムは、本当にシステムだけのものなので、基本的に画像がない。個別の記事に画像をアップロードした場合にしか画像がない。
でもたいていのサイトって、画像つきのリンクがあると思うんです。サイトの一番上にある画像なんかは、トップに戻るリンクになっている場合がわりと多いんじゃないかと思うんです。このサイトもそうです。上の地球をクリックすれば、トップページに飛びます。
ところでこれ、地球だよね? 実は我々の銀河を飛び越して、ご近所(230万光年くら
続きを読む
2009/05/14 by マッチー
CakePHPはどうやらログインの際のパスワード認証などをやってくれる機能も実装されているらしい。
AuthComponentというのが、そう。
それがどういうものなのかは、こちらを読むと良いと思う。
暗号化などもやってくれるので、使い方を覚えれば大変便利だと思われます。
ちなみに、僕は最初、このページのソースを丸パクリしたのに、ヘッダーがすでに出力されている、みたいなエラーが出てました。何度見直しても間違っていないのにエラーはなくならない。これはどうしたもんかと思っていたけれど、分かっ
続きを読む
2009/05/13 by マッチー
CakePHPを使ってブログ的なものを作ると言い、一応今日までに一通りできあがる予定で進めていたのに・・・
終わらなかったさorz
課題だから納期がないとはいえ、こんなことでは先行きが不安になってしまうさ。
いざ仕事をもらったときに、ちゃんと期限内に片付けることができるのかどうか・・・みたいな。
zuya先輩は「最初はどれくらいの時間で仕上げられるかを見極めるのは難しいから仕方ないよ」みたいなことを言ってくれましたが、しかしだからといって慣れるまでは納期に遅れてもいいというわけにはならな
続きを読む
2009/05/11 by マッチー
前回、フォームのヘルパーを使えばsubmitボタンとend formタグが一行で書けると言ったけれど、これを使って書くと、自動的にdivで囲われることに気づいた。
<?php echo $form->end('送信') ?>
これは、HTMLで記述すると以下の内容になる。
<div class="submit"><input type="submit" value="送信"></div>
</form>
続きを読む
2009/05/08 by マッチー
CakePHPにはformに関するヘルパーもいろいろあるので、無理にHTMLタグを自分で書かなくても良い。しかも、使い方を覚えてしまえば、HTMLタグを書くよりもソースがお手軽な面も結構あるっぽい。
<input type="submit" value="送信">
</form>
フォームを作成すると、だいたい最後の方はこんなタグを書くことになると思うが、ヘルパーを使えばこれは一行で書ける。
<?php echo $form->end("送
続きを読む