タグ

cakephpに関するTaROのブックマーク (39)

  • CakePHP開発者が知るべき10のこと

    先日、こんな記事が上がっていました。 Android開発者が知るべき10のこと この記事でまとまっているのは、Android開発において必要な10の項目です。 インターフェースの設計から、データの取り扱いまで。 AndroidはモバイルデバイスのOSで、CakePHPは単なるWebフレームワーク。 しかし、予め用意されたルールやAPIを活用する点は同じです。 つまり、フレームワーク全般において、開発者が知るべきことをまとめることが出来るはずです。 ここでは、私が良く利用するCakePHPフレームワークについて、開発者が知るべき10のことをまとめます。 1. CakePHPで良いのか CakePHPを使う際に、知るべきことその1。 それは、あなたは当にCakePHPを使うべきなのかということです。 現在、あらゆるフレームワークが溢れ返っています。 Ruby Ruby On Rail

  • CakePHPで普段使っているpluginをまとめてみた | Web活メモ帳

    2010年を振り返る意味で、自分がCakePHPで開発する際に良く使うプラグインをまとめてみました。 誰かのお役に立てれば幸いです。 1.cakeplus ■ よく使うバリデーションをまとめたBehaviorであるadd_validation_rule モデルでバリデーションする際に当に使います。 var $validate = array( 'hoge' => array( "rule1" => array('rule' => array('katakana_only'), 'message' => 'hogeにカタカナ以外が含まれています' ), ), ); ■ 自動でhiddenタグを生成するヘルパーformhidden 確認画面を挟む際にhiddenに入力情報をまとめて出力してくれます。 echo $formhidden->hiddenVars(); このプラグインを知ってから、

    CakePHPで普段使っているpluginをまとめてみた | Web活メモ帳
  • ASTRODEO 株式会社アストロデオ

  • Copy/Cut/Paste:【CakePHP】直前にsave()したレコードのidを取得する

    ときどきシステム的に直前にINSERTした(CakePHPではsave()した)レコードのidを取得したいときがある。 CakePHPではModel::getLastInsertID()というメソッドが提供されている。 $this->Post->save($this->data); $last_id = $this->Post->getLastInsertID(); 結構楽に取得できるのでいい感じ。 【参考URL】 http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=563&forum=6

  • CakePHP + hasMany + conditions : HAPPY*TRAP

    hasManyのconditionsを動的に変更する例です。 麻生太郎さんの有益な発言を取得する場合。 $options=array(); $options['conditions']['User.name']='麻生太郎'; $this->User->hasMany['Comment']['conditions']='Comment.status=1'; $this->User->find('all',$options);

    TaRO
    TaRO 2010/09/11
    hasManyの$conditionを動的に変更する
  • Copy/Cut/Paste:【CakePHP】Html Helperで画像にリンクをはる方法

    CakePHPでは$html->link()を使うとリンクをはることができて、$html->image()を使うと画像タグをはることができる。 ということは画像にリンクをはることもできるはずだし、「できるよ」とリファレンスに書いてあるのだけれども、どうしても$html->iamge()の画像タグがエスケープされてしまう。 なんでだろうと思ってじっくりリファレンスを見たら$html->link()の第5引数が$escapeTitleになってた。 てことで以下のように第5引数をflaseにすれば画像にリンクを張ることが可能。 <?php echo $html->link($html->image("test.png"), '/',null,null,false);?>

  • 【CakePHP】AuthComponentについてのまとめ 【ざっくり基本編】 | ねねとまつの小部屋

    CakePHPの1.2.0.6311-betaでの話です。 CakePHPの1.2になってから、沢山の便利な機能の追加がありました。 そのうちのひとつのAuthComponentについて、まだ、日語の資料が少ないので、まとめてみます。 AuthComponentとは CakePHP1.2から提供されるようになった認証用のComponentで、主な機能としては ログイン・ログアウト機能 データベースのユーザIDとパスワード照合 パスワードのハッシュ化 特定の条件のユーザのみをログインさせる ログイン失敗時のエラーメッセージ処理 ログイン・ログアウト後のリダイレクト処理 などがあります。 実際に使ってみる データベースUsersに’username’と’password’というそれぞれユーザ名とパスワードのフィールドおよびidがあるとします(modelも設定済み)。 まずは、controll

  • Fresh! » CakePHPで作る会員管理システム

    これまで作ってきたCakePHPによる会員管理ステムのまとめです。 まず最初に、どういうシステムを作るか、要件を箇条書きにします。 会員側 会員登録ができる(ログインIDはメールアドレスで) 登録確認メールが送られる その後はログインできる 会員メニューがある 登録情報の更新ができる 会員種別を登録できる 誕生日を登録できる 好きなべ物をcheckboxで登録できる パスワードは暗号化しないで登録する セッションで認証する 退会できる 画像を複数登録できる 管理者へは画像添付メールで送る 後日実装予定の機能 仮登録メールクリックで登録になる 画像サイズを変更できる 管理側 adminでログインできる 会員を一覧できる・pagingできる 会員を検索できる 会員検索結果をCSVでダウンロードできる 会員情報を詳細表示できる 管理者アカウントを登録できる(一覧・編集・削除できる) バッチ

  • Ubuntuでapacheのmod_rewriteを有効にする - カサヒラボ

    ubuntuでcakephpを動かそうとしたら、apacheのmod_rewriteが有効になっていないことが判明。 apache2そのまま入れただけだとoffになってるんですね。 以下、有効にしたときのメモ。 ※ちなみにUbuntuは8.04です。 mod_rewriteを有効にする $ sudo a2enmod rewrite sites-available/defaultファイルの編集用に開いて、、 $ sudo vi /etc/apache2/sites-available/default ディレクティブの「AllowOverride None」のNoneをAllに変更する ... <Directory /var/www/> ... # AllowOverride None ↓↓変更↓↓ AllowOverride All ... </Directory> ... あとはapach

  •  cakePHP1.2から1.3への変更作業。 - ふと、思いついたんだ

    改訂して以下にアップしました。 http://pplace.jp/2011/05/cakephp1-2%E3%81%8B%E3%82%891-3%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E4%BD%9C%E6%A5%AD/ 以下、前に書いたもの。 cakePHP1.3も安定版になったので、FMTも1.2からバージョンアップしました。 ※テスト環境にだけ適用していて、番環境には来月適用予定。 その際に変更した点を以下に列挙。 誰かの役に立ってくれれば。 <公式移行ガイド> http://book.cakephp.org/ja/view/1561/Migrating-from-CakePHP-1-2-to-1-3 まず1.2から1.3に移行する際に公式移行ガイド。 基的に、ここにどのように変更になったか書いてます。 その中で、私が今回対応したのは(主に)以下

     cakePHP1.2から1.3への変更作業。 - ふと、思いついたんだ
    TaRO
    TaRO 2010/08/28
    selectタグは注意
  • SQLでlikeとinを使う=>likeとorを使う - 未来適合因子

    cakephp上でLikeで複数の検索キーワードをORで検索したい。例えば、テキストの全文検索でOR検索をしたい。 いや、conditionsをいじっているのだが、うまくできない。 単一ならこんな感じなんだけどね。 http://my.opera.com/sizuhiko/blog/2008/06/09/cakephp-1-2-rc1-find inじゃなくてorでやるか。 とおもって書いてみたけど、同じ値に対してlikeをかけるとarrayの仕様上、上書きされてしまうからできないみたい。 とおもったけど?を使うことでできた。 コントローラー中 $condition = array('%aa%','%bb%'); $this->Item_eng->find('all',array('conditions'=>array('Item_eng.name LIKE ? OR Item_eng.n

    SQLでlikeとinを使う=>likeとorを使う - 未来適合因子
  • redirect :: フロー制御 :: コントローラのメソッド :: コントローラ :: CakePHPによる開発 :: マニュアル :: 1.2コレクション :: The Cookbook

    TaRO
    TaRO 2010/08/27
    直前のページにリダイレクトするとき $this->redirect($this->referer()); パラメータ渡せなかったので困ってた
  • パラメータ属性($params) :: コントローラの属性 :: コントローラ :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook

    コントローラパラメータは、CakePHPコントローラ内で$this->paramsとして利用できます。この変数で、現在のリクエストに関する情報にアクセスできます。$this->paramsの使い方としては、POSTやGET操作でコントローラに渡された情報へのアクセスにいちばんよく使われます。

    TaRO
    TaRO 2010/08/27
  • CakePHP - Build fast, grow solid | PHPフレームワーク

    New CakePHP 5.2 Chiffon. Faster. Simple. Delicious. What's new in 5.2 The migration guide has a complete list of what's new in 5.2. We recommend you give that page a read when upgrading. A few highlights from 5.2 are: New "counter_cache" command New "nativeuuid" database type Error handling customization using methods in "ErrorController" Helper method for generation importmap for JavaScript files

    CakePHP - Build fast, grow solid | PHPフレームワーク
    TaRO
    TaRO 2010/08/27
    はまった。うそ。今もはまってる。
  • フォーム入力画面と確認画面で共通で使えるXformHelper - cakephperの日記(CakePHP, Laravel, PHP)

    Cakephp1.2.6 追記(2010/12/16): コメントでPHP5.3の動作不具合報告を頂いたので対応しました。報告ありがとうございました。現状、PHP5.2.15, PHP5.3.4で確認し、CakePHPは1.3.6, 1.2.9で確認しました。gitの最新版か、githubにあるダウンロードボタンから0.02というバージョンのコードをダウンロードしてご利用ください。 入力項目が多くなると、確認画面を作るのも時間がかかりますよね、面倒ですし。今までは、確認画面で別途 $form->value使うとか、Postの値をそのまま表示するようにしてたのですが、デザインが入力画面とほぼ同じなのに別に実装するのがなんだかなと思ってました。それに嫌気がさして、フォーム入力画面でも確認画面でも同じメソッドで、フォームタグと値の表示を切り替えるXformHelperを開発しました。 機能は色々

    フォーム入力画面と確認画面で共通で使えるXformHelper - cakephperの日記(CakePHP, Laravel, PHP)
  • 【CakePHP】フォームのデフォルト値が実際の値を上書してしまうバグ

    ( 0 票 )現在CakePHP 1.2.0.7692-rc3を使っていますが、フォームのデフォルト値の指定にバグがあるようです。 form helperでテキストボックスやラジオボタンなどを作成するときに、"default"オプションを指定することで、そのフォームエレメントに関連する変数に何も値が入っていないときに値を設定することができます。 "value"オプションとの違いは、"value"を指定すると、そのフォームエレメントに関連する変数の値の有無にかかわらず値が強制的に指定されるのに対し、"default"では変数に値があればそちらを、なければデフォルト値を設定してくれる点です。 しかし、変数にデータベースから読み込んだ値が入っていても、そちらを使わずにデフォルト値が使われてしまう場合がありました。例えば、次のように登録済みのユーザデータを編集するフォームで、性別を選択するラ

  • よくある検索画面でPaginationを使う - cakephperの日記(CakePHP, Laravel, PHP)

    2008/12/25追記 ソースコードの中にコメントとプログラムを追記しました。これがないとXSSが発生する可能性があるのでご注意下さい。 cakePHP1.2 RC3を利用してます。 よくデータの管理画面なんかで、簡易検索機能として検索条件を入れて、その結果を一覧表示するのってありますよね。 Googleの検索画面なんかもそう。 この場合、検索条件を最初にPOSTして、その後、検索結果一覧画面が表示されます。結果一覧では検索条件を変えたりするために、検索入力エリアがあり、そこにPOSTした検索条件が保持されています。 これをCakeで作る場合、検索結果一覧はPagination機能を使ってお手軽にページングしたい、でも検索条件もフォームエリアに保持し続けたい、それらを1画面で表現したい、そんな時にどうするか。 まず、最初の検索条件をPOSTすると、$this->dataにデータが入ります

    よくある検索画面でPaginationを使う - cakephperの日記(CakePHP, Laravel, PHP)
    TaRO
    TaRO 2010/08/26
  • フォームから送信された値を、Paginationで引き継ぐ方法 - cakephperの日記(CakePHP, Laravel, PHP)

    環境はcakePHP1.2RC2です。 検索画面などで、検索条件を入力して検索結果一覧を表示するようなものって結構ありますよね。そこで面倒なページング処理なんですが、CakePHP1.2から利用できるPaginationの機能を使えば簡単にページング実装できるよって話。ただ、普通にPaginationだけ使うと、例えば次へのリンクの中に検索条件のパラメータを入れてくれないので、ページングのリンクをクリックすると検索条件がすべて消えてしまいますorz そこで、検索画面の一例として下記のようにしてみました。もっと良さげな方法があれば教えてください。 今回は、検索条件を入れると、検索画面が出てくる簡単な実装です。 DBは下記のような感じでデータが入ってます。 +----+-----------+---------------------+--------+ | id | shopid | ord

    フォームから送信された値を、Paginationで引き継ぐ方法 - cakephperの日記(CakePHP, Laravel, PHP)
  • 1.2・検索結果をpaginateする方法 - せとっちの備忘録(技術系)

    cakePHPのpaginationは確かに便利。 あのインデックスを作ったりは当にめんどうなので助かるのですが、 それをちょっと複雑に使おうとすると一苦労。 ていうか検索した結果をpaginateしたいと思うのは普通だと 思うんですけど、その割には使いにくい…。 しかもcakePHPのバージョンでまるで動作が異なるようで、 Webの情報がばらんばらんなんですね。 ということで、自分なりにまとめて書いてみようと思います。 (cakePHP1.2.4.8284) インデックス paginateは二つからなる(コントローラ側・ビュー側) paginateはSQLを作ってくれるコンポーネントに過ぎない 検索条件は一度渡しただけでは消えてしまうので、保存する必要あり ヘルパーのsortの動作は微妙なので要注意 sortでascとdescを切り替える際の注意 sortした際にページを1ページに戻す

    1.2・検索結果をpaginateする方法 - せとっちの備忘録(技術系)
  • CakePHP Pagination まとめ | Sun Limited Mt.

    CakePHP の Pagination に関してまとめてみました。 コントローラでコンポーネント、ヘルパーに Pagination を指定 // 使用コンポーネント名 var $components = array('Pagination'); // 使用ヘルパー名 var $helpers = array('Pagination'); コントローラの一覧表示するアクションでの一覧表示取得方法 $this->Pagination->modelClass = 'Model'; // 使用するモデル $this->Pagination->sortBy = 'created'; // デフォルトのソートするフィールド名 $this->Pagination->direction = 'DESC'; // デフォルトの昇順、降順を指定 $this->Pagination->show = 10; /