2010/07/27 by マッチー
CSV(チャンピオンに必要なものそれはヴィクトリー)をPHP側で出力しようとした場合、自分でfputcsvとかを使って頑張ってもいいのですが、文字列の処理が以外と面倒だったりすることもありますよね。上手くいったつもりでもいざファイルの中身を見てみたら列がずれちゃってたりとかもするし。
そこで役立つのがCSVヘルパー。チャンピオンになるための条件すなわちヴィクトリーをもたらしてくれる優秀な助っ人です。
使い方は簡単。ソースをコピペってcsv.phpとでも名前つけてhelpersに置くだ
続きを読む
2010/07/20 by マッチー
表示側で会員のログインフォームがサイドバーなんかにある場合に、ログインしたら常に特定のページへリダイレクトするのではなく、できればそのままのページにいたいですよね。
要はリファラーを取得できればいいわけですが、CakePHPのcontroller.phpを見てみると、refererというメソッドがあります。これを使うと、あっさりとリファラーを取得できる。
なので
$this->redirect($this->referer());
ログインアクションにこん
続きを読む
2010/07/12 by マッチー
CakePHPのフォームヘルパーでチェックボックスを出力したときのお話。
デフォルトの状態でチェックをつけておくには、第2引数の属性にチェックを入れればいいのだけど(↓こんな感じで)
echo $form->checkbox('test', array('checked' => 'checked'));
例えば、DBに登録されているデータから特定のチェックボックスにだけチェックを入れたい、みたいなとき。
これはつい先日実際にあったお話ですが(別
続きを読む
2010/06/21 by マッチー
前回や前々回で管理側と表示側でURLを変えてみたりコントローラーを整理したりしてみましたが、もうこうなったらAppControllerも管理側と表示側で分けてしまいましょう。行けるところまで行っちゃいましょう。地獄の淵が見えるまでね。
別に難しいことはないです。要は間に一枚挟めばいいだけなので。
class AppController extends Controller {
//AppControllerの中身
}
//管理画面のAppController
続きを読む
2010/06/14 by マッチー
前回の記事でコントローラーの中身をフォルダ分けして整理するやり方を書きましたけど、その流れに乗ってURLなんかも管理側と表示側で変えることはできないのかなと思ったら、これが出来るらしいんですね。なかなか柔軟な野郎ですね。レッドオクトパス市原のようですね。
core.phpの60~70行目の辺りを見てみると
Configure::write('Routing.admin', 'admin');
みたいな感じの一文がコメントアウトされてると思うんですけど、このコメン
続きを読む
2010/06/07 by マッチー
CakePHPのcontrollerは、どうやら階層を深くできるらしい。例えば、表示側と管理側でコントローラーを分けて見やすいように整理したい場合。
app/
└controllers/
├admin/
│ ├users_controller.php
│ └topics_controller.php
└home_controller.php
こんな感じにフォルダ分けしたりすることができる。
ただしこれだけだと正常
続きを読む
2010/06/03 by マッチー
この前、わけあってこのブログの過去記事を漁っていたら、こんな記事を見つけまして……僕自身が一年前くらいに書いたものなんですが、こんな一文がありました。
eclipseを使うと、phpファイルなんかのソースを書く場合には『(』を書くと自動的に『)』もつけてくれるので(クォーテーションなんかも同様)書き逃しも少ないのだけど、ctpファイルの場合なんかはそういう補完をやってくれないから、だいたい最初にページをチェックするときはエラーが出ちゃいますね。
ctpファイルの場合なんかはそういう補
続きを読む
2010/05/13 by マッチー
CakePHPのcake/libs/viewを見ると、errorsというフォルダの中にerror404.ctpというファイルがある。これをapp側のview/errors下に置くと、404エラーが出た時に、error404.ctpの内容が表示される。
ただし、これだけだとlayoutはdefault.ctpが呼ばれてしまうので、エラー用のページのレイアウトを他のページと完全に分けたい場合なんかは、views/layoutsに新しいctpファイルを作る必要がある。たとえばerror.ctpと
続きを読む
2010/04/26 by マッチー
先日、他のプログラマの方たちとCakePHPについて語り合っているときに、scaffoldって単語が飛び交いました。僕以外の二人は当然のようにそれを分かっていましたが、僕だけ何のことか分からなかったので、「それ何ですか?」って聞いたら「知らないのかYO!!」って言われてしまいました。
何かよく分かんないけど、CakePHPとかを使っていればわりと初期の段階で知ることなんだそうです。
主人がオオアリクイに殺されてからもう一年くらい経つのに……間違えた、僕がプログラマになってからもう一年
続きを読む
2010/02/22 by マッチー
CakePHPでウェブルートのアドレスを取得したい場合
$this->webroot;
これで取得できるが、でもこれだとホスト名が含まれない。Routerの書き方にもよるけれど、大体の場合は「/」の一文字が返ってくるんじゃないだろうか。
pr($this->webroot.$this->params['url']['url']);
//出力結果
/home/index/1
こんなような感じになると思う。でも場合によ
続きを読む