めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

CakePHP

CakePHPでテンプレートをDBに保存して使う

CakePHP(1.2)でテンプレートをDBに保存して使うということをしてみました。 正直、Smartyを利用してデーターベースに保存してあるテンプレートデータを利用する方法から、Smarty部分を取り除きました。具体的には、「CakePHPでテンプレートにDBを使用する…

CakePHPのマニュアルcakebookのソース

CakePHPには、マニュアルがあります。日本語でマニュアルがあるのは、とても助かります。そのマニュアルがCakePHPでできています。このマニュアルのソースってどうなっているんだろう?と思っていたのです。CakePHPが、githubの中にある事に気づいて(cakeph…

CakePHP 1.2のサンプルで確認画面ありのフォーム

CakePHPを使ってみて思ったのが、「確認画面ありのフォームは、手軽には作れないか」ということがありました。入力内容の確認画面というのは、日本独自の文化、という話を聞きます。CakePHPも日本製ではないので、scaffoldでは確認画面ありのフォームは用意…

CakePHPのレンダリング結果を受けとる

CakePHP 1.2でコントローラーのアクションのレンダリング結果を受けとりたい場合がありました。そして、画面の表示はしたくない。そこで調べてみたのが以下の結果でした 自動的にレンダリングしない設定 コントローラーのfunction autoRenderをFLASEにする …

CakePHP 1.2でXMLを利用する

CakePHPでXMLを利用したいなあ、と思いました。PHPでXMLというと、どうもいいイメージがないです(XML自体が、あまりいいイメージではないかもしれない)。CakePHPだと何か便利なのはないかな?と調べてみたら、ありましたよ。 コントローラー set('xml', S…

CakePHP 1.2のpaginatorで並び順(sort)を指定したリンクの設定

paginatorのソート(sort)を指定した機能を用意したいなあ、と思いました。そこで、paginatorにオプションがないのか見てみたら、やっぱりオプションがありarrayで渡せばいいのでした sort('▼', 'Post.id', array('url'=>array('direction'=>'desc'))); ?> …

CakePHP 1.2でorderを複数(2つ以上)指定する

CakePHP 1.2のことだから、配列でしていすればいいよね、と思ったら間違ってた。なんだか残念。 サンプル例。 Model->find('all', $options); ?> そうかそうか。配列ばかりじゃないらしいです、CakePHP。 って、調べて見ているんですが、配列で渡してもいい…

CakePHP 1.2のキャッシュ機構

CakePHP 1.2でキャッシュを有効にする 出力の結果についてのキャッシュは、別の設定 ここではCakePHP 1.2が備えるキャッシュ機構を有効にするか?ということだけらしい 何がキャッシュされているのか? debug は2に設定している状態で確認 DESCRIBEが実行さ…

CakePHP(1.2)のAuthコンポーネントとルーティングとあれこれ

Authコンポーネントを利用したログイン処理で、はまりました。 たぶんの話ですが、処理順番を整理 Authコンポーネントが使われているページにアクセスする Authコンポーネントが呼ばれて、AuthコンポーネントのStartup()が実行 セッション情報が書き込まれる…

CakePHP(1.2)でValidates()が動かない!とおもったら

setだけじゃなく、create()というのもあるそうで。何が違うんだろう? Account->create($this->data); if($this->Account->validates()){ ... } // 更新の場合 $this->Account->set($this->data); if($this->Account->validates()){ ... } ?> 教えてもらった…

CakePHP(1.2)でメールを送ると、メール本文の下にメッセージが出る

CakePHP(1.2)でメールを送ると、メール本文の下にメッセージが出たのです。 なんだこれ?と。 This email was sent using the CakePHP Framework, http://cakephp.org.調べてみると、独自のlayoutsを利用しないとこのメッセージが出るようです。 参考 Erro…

CakePHP(1.2)のsubmitの話

なぜ?と思ったので <div class="submit"> http://ore.saizensen.net/archives/68</div>

CakePHP(1.2)でのエラーメッセージを日本語化する

CakePHPでお問い合わせフォームを作ってみたりします。CakePHPでは、ValidateをModelに書きます。Validateのルールを、Model側に書くのですが、そのときに一緒にmessageを設定できます。これを、エラーなどがあったときに表示をして、エラーの内容を伝える事…

CakePHP(1.2)でJOIN先のテーブルの条件をコントローラー側で変更する

CakePHP(1.2)を利用していてmodelでhasManyなど複数のテーブルをJOINしている時に、JOINしたテーブルについて、limitや、orderを決めたい時があります。 例えば表示のときに、ユーザー(ユーザーテーブル)一覧があり、そこにユーザーの最新のコメント(コ…

CakePHP 1.2のpaginateでQueryを引き継ぎたい場合

paginateでQueryを引き継ぎたい場合、下記のような感じで動きました。 akiyan先生の「極める routes.php (CakePHP 1.2) - akiyan.com」を読みながら実践。コントローラー側に書く必要があるのね。 params['url']['url'] = ''; $this->paginate = array( 'opt…

CakePHPのコントローラーでアンダーバーのついたメソッドの話

CakePHPのコントローラーでアンダーバーのついたメソッドの話。どうやら、privateメソッド扱いになるらしいです。PHP5だからかな?privateとか書いていないけれど、そうした扱いになるか?

CakePHPを最近使っていての疑問

CakePHP 1.2 を最近使っていての疑問 CakePHPでElemetでApp::ImportでControllerを呼び出します。呼び出したコントローラーで設定した$usesのModelが使えないのだけれど、どいうしたらいいのか。解決策が見つからず、別の方法で対応しました。でもなあ、これ…

CakePHP 1.2でのbakeを試してみた

携帯のことを調べるのと一緒に、cakePHPのbakeを試してみました。 CakePHP 1.2の単体テスト作成にはbakeが便利 (前編) | バシャログ。 まとまっているページが、上記ぐらいのところぐらいしか見当たらなかった。 気になったのは、 用語を知らないと、わかり…

CakePHP 1.2でのモバイル(携帯)対応のためのヘルパー

「CakePHPによる実践Webアプリケーション開発」に少しだけ書かれています。書籍で気になったのは、「UTF-8を利用する」というところ。3G携帯だけ対応するのはいいとしても、UTF-8だけ、というのはなんだか気になるのです。Shift-jisじゃなくていいのかなあ?…

各コントローラーで同じアクション名のときは同じテンプレートを使いたい

CakePHP(1.2)で、各コントローラーにある同じ名前のアクション(例えば、feed_index)について、同じテンプレートファイルを利用したいと思ったらどうすればいいのか考え中。というのも、コントローラー毎にあるインデックスで処理は異なるけれど(なので…

CakePHPでのキャッシュのクリア方法

調べていてなんとなくわかってきたのでメモ。 CakePHPのキャッシュは、キーを指定して、クリアすることが可能です。ですが、キャッシュの機構が用意したキーがどうなっているのかがよくわかりませんでした。というわけで、キーはどこに書かれているんだ?と…

キャッシュ(cache)と認証(auth)を組み合わせたい時

CakePHP 1.2 で標準で付いてくるキャッシュと、認証を組み合わせたいとき、どんな風に活用したらいいんだろう? モデルもキャッシュされているせいだと思うのだけれど、モデルがキャッシュされないとキャッシュの意味が少ないし。認証(auth)のコンポーネン…

CakePHPのpaginatorのルーティング(2)

深まる謎。viewのところにoptionsを渡して変更することができるらしい が、page:2とかになるところを変えたいのだけれど。 どうしたらいいんだろう? paginatorのoptions $paginator->options(array( 'url' => array( 'action' => '', )

CakePHPのpaginatorのルーティング

こんな風にしてみた。問題ないのだけれど、paginatorに伝わりません...。 関係性がわからない。 Router::connect('/:controller/page/:page', array('controller' => 'tags', 'action' => 'index'), array('page'=>'[0-9]+') );

CakePHPのpaginatorのnumbersのオプションの話

CakePHPのpaginatorのnumbersのオプションの話 firstとlastは何をしているのかわからず なんんかわかりそうな...わからないような 現在地は class="current"です numbers( array( 'tag' => 'span', 'separator' => ' - ', 'before' => '<<', 'after' => '>>'…

CakePHPによる実践Webアプリケーション開発

CakePHPによる実践Webアプリケーション開発という本が出るそうです。 発売は、3/26とAmazonには出ています。 最近、CakePHPが気になるので、買ってみようかなあ。CakePHPによる実践Webアプリケーション開発作者: 安藤祐介,岸田健一郎,新原雅司出版社/メーカ…

cakephpにもチュートリアルがある

cakephpにもチュートリアルがある。ブログを作るらしい。 404 Not Found

Fast CakePHPのToDo管理(2)モデル、コントローラー、ビューを作る

モデルを作る 作った場所 /usr/local/httpd/htdocs/cake/app/models 用意したファイル task.php コントローラーを作る 作った場所 /usr/local/httpd/htdocs/cake/app/controllers 用意したファイル tasks_controller.php

Fast CakePHPのToDo管理(1)データベースの用意

Fast CakePHPに載っていたToDo管理システムを、作ってみます。 使用感とかわかるかなあ、と思ったので。 データベースを用意する tasksというテーブルを作る 使うのは、cakeというDB(設定済) 実行したSQL CREATE TABLE `tasks` ( `id` int(11) unsigned NO…

CakePHPをインストールする

使用した環境 PHP Version 5.2.1 FedoraCore 6 MySQL 5.0 参考にした書籍 Fast CakePHP (LLフレームワークBOOKS)作者: 秋田真宏出版社/メーカー: 技術評論社発売日: 2008/01/08メディア: 単行本(ソフトカバー) クリック: 106回この商品を含むブログ (22件)…