モデルのコールバックメソッドが様々ありますが、無効化したい場合があります。 find, save共に第2引数にcallbacksをキーとした配列を渡すことでモデルのコールバック実行の可否を伝えることが可能です。 find(beforeFind, afterFind共に無効化)
モデルのコールバックメソッドが様々ありますが、無効化したい場合があります。 find, save共に第2引数にcallbacksをキーとした配列を渡すことでモデルのコールバック実行の可否を伝えることが可能です。 find(beforeFind, afterFind共に無効化)
CakePHPでデータの更新をする際に、idが$this->request->dataに付与されている場合になる。Rails4(今はPUTではなくPATCHが標準)はhiddenタグを使ってそうなるのは知っていたのですが、CakePHPでそうなっているとは知らなかったです。。 CakePHPの公式サイト なので、以下の様なことで挙動が変だなーと思ってました。 <?php HogeController extends AppController { public function edit($id = NULL) { if ($this->request->is('post')) { //ここにこない // UPDATE } else { $this->request->data = $this->Hoge->findById($id); } } }
This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! FormHelper¶ class FormHelper(View $view, array $settings = array())¶ The FormHelper does most of the heavy lifting in form creation. The FormHelper focuses on creating forms quickly, in a way that will streamline validation, re-population and layout. The FormHelper is also flexible - it will d
暑いですね、ichikawaです。 今回は、PHPのフレームワークCakePHPを使った際に自由にURLを設定する方法をご紹介いたします。 CakePHPにおける基本的なURL CakePHPの基本的なURLの構造は、以下のような形です。 http://○○/実行するコントローラー名/実行するアクション名/ でも、これを変更したい時もありますよね。そんな時に活躍するのはこちら! デフォルトだとapp/config/以下にあります。 この「routes.php」を変更することによって、CakePHPで自由にURLを設定することができます。 では実際にやってみましょう! 「http://○○/bashloger」でblogコントローラーのmemberメソッドにアクセスしたい そのような時は以下の様に書きます。 Router::connect('/bashloger', array('contr
CakePHPでは、認証はAuthコンポーネントでユーザ登録&ログインを行うと超便利。だけど、ログイン処理を手動(自動)で実行したいっていうときには、ちょっとハマったポイントがあったのでメモ。 前提 CakePHP2.x 普通のログイン画面→認証の流れ public function login() { if ($this->request->is('post')) { if ($this->Auth->login()) { return $this->redirect($this->Auth->redirectUrl()); } else { $this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth'); } } } まぁ、マニュアルにもある通り、普通にログイン画
シンプルな認証と承認のアプリケーション¶ ブログチュートリアル の例の続きで、ユーザーログインを基に、 一定の URL へのアクセスを安全にしたいとしましょう。その他の要件として、ブログに複数の 執筆者 (authors) がいて、それぞれが各々の意思により投稿を作成、編集、削除でき、 他の投稿者からはどんな変更もできないようにします。 ユーザーに関連するコードの作成¶ 初めに、ユーザーのデータを保持するためにブログデータベースに新しいテーブルを作成しましょう: CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), password VARCHAR(255), role VARCHAR(20), created DATETIME DEFAULT NULL, modifie
This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release!
こんにちは、S.T です。 今回は cakephp2.6 で Smarty を使う記事を書いてみます。 cakephp は 1.3 の時に業務で使ったことがありましたが、最近公式ページを見たところ 2.6 がリリースされていました。 beta 版では 3.0 もあるみたいですね。 今回は安定版である 2.x 系を使います。 テンプレートエンジンに Smarty を使うのは個人的に好きだからです。 環境は以下のバージョンを利用します。 CentOS7 PHP 5.4.16 cakephp2.6 smarty3.1.21 apache2.4 CentOS7 からは systemd が導入されたようで、最初は戸惑いました。 apache への設置場所は /var/www/html ではなく、~/{ユーザ名}/cakephp26 のようにユーザディレクトリ配下に設置します。 /var/www/ht
Context: I'm generating a PDF in a model callback (afterSave). I found a library I'm comfortable with called FPDF. I'm adding the FPDF class as a vendor. So, without going into too much detail, essentially, once all checks have been completed for a particular contract application, the app needs to prepopulate a PDF file and attach it to an email. I can figure everything out except how to generate
ちょっと説明用も兼ねて、基本的なsql_dumpエレメントからDebugKit, DataSourceのgetLog()を使った方法まで、まとめました。 sql_dumpエレメントで確認する <?php echo $this->element('sql_dump'); ?> https://github.com/cakephp/cakephp/blob/2.3.6/app/View/Layouts/default.ctp#L60 CakePHPデフォルトのレイアウトであるdefault.ctpからは、この様にSQLダンプ用のエレメントが読み込まれてます。 既に開発が進んでるプロジェクトだったり、配布されてるレイアウトをベースにしていたりすると、sql_dumpエレメントの読み込みが削除されてるかもしれないけど、普通は一番簡単にSQLを確認出来るところです。 if (!class_exis
URLリライティング¶ Apache と mod_rewrite (と.htaccess)¶ CakePHP は、展開した状態では mod_rewrite を使用するようになっており、 自分のシステムでうまく動作するまで苦労するユーザもいます。 ここでは、正しく動作させるために行うことをいくつか示します。まず始めに httpd.conf を見てください(ユーザーやサイト独自の httpd.conf ではなく、 必ずシステムの httpd.conf を編集してください)。 これらのファイルは、ディストリビューションや Apache のバージョンによって異なります。 詳しくは https://wiki.apache.org/httpd/DistrosDefaultLayout を参照してください。 .htaccess のオーバーライドが許可されていること、正確な DocumentRoot に対
テスト¶ CakePHP はテストの包括的なサポートが組込まれています。CakePHP は PHPUnit のための統合が付属しています。PHPUnit が提供する機能に加えて、CakePHP は簡単にテストするために いくつかの追加機能を提供しています。このセクションでは、PHPUnit のインストールからユニットテストの はじめ方、そして、CakePHP が提供する拡張機能について説明します。 PHPUnit のインストール¶ CakePHP のテストフレームワークは、PHPUnit を基礎としています。PHPUnit は、PHP での ユニットテストのためのデファクトスタンダードです。それはあなたが思い通りのコードを確実に書くための、 深遠で強力な機能を提供します。PHPUnit は PHAR パッケージ や Composer のいずれかを使用してを介してインストールすることができま
Bakeでコード生成¶ CakePHP の Bake は、あなたがやることを代わりに CakePHP にまかせることができます。 Bake は CakePHP の基本的な素材(モデル、ビュー、コントローラ)を作れます。 Bake では、簡単にフル機能をそなえたアプリケーションを作ることができますが そういったスケルトンクラスについてはここでは話しません。 また Scaffold アプリケーションを試してみるのに、bake を使ってみるのもいいでしょう。 一般的な CakePHP コンソールの使い方に関する CakePHP のコンソール セクションを参照してください。セットアップ環境に依っては、 cake スクリプトに 実行権限を設定したり ./Console/cake bake として、呼び出したりする必要があります。 cake スクリプトは PHP CLI (command line i
CakePHP のダウンロード・インストール 公式サイト http://cakephp.jp/ から安定版(Stable)の zip ファイルをダウンロードする。2010/1/21 現在の安定版は cake_1.2.5.zip。 適当なフォルダに解凍する。なお、既存の Web サイトがある場合、CakePHP は新しい Web サイトを構築するため、フォルダの位置は現在のサイトがあるフォルダ下でなくともよい。 cake_X.X.X というフォルダ名を適当に変更する。ここでは cakephp とする。 フォルダ構成が下記のようになることを確認する(太文字が重要)。 cakephp app config もろもろ webroot cake vendors ▲ ▼ URL Rewrite のインストール IIS7.5 では mod_rewrite が利用できないらしく、MS が提供する URL
IIS で CakePHP や Ruby on Rails を動作させるためには URL 書き換え 機能の設定が必要となります。 ここでは CakePHP を動作させるまでの手順とURL 書き換え 用の設定ファイル(web.config)を紹介します。 CakePHPをサイトからダウンロードします。 http://cakephp.org/ IIS マネージャで Webサイトを追加します。 ダウンロードしたファイルを F:\inetpub\wwwroot 以下に展開します。 物理バスの指定は “F:\inetpub\wwwroot\cake_1.2.5\app\webroot” となります。 今回は Port 86 を指定しましたが、ホスト名を指定することで Port 80 を複数の Webサイトとして利用することもできます。 設定 F:\inetpub\wwwroot\cake_1.2.5
みなさんこんにちは! リレーションを組んでリレーション先も同時に消す方法を勘違いしていたので自分の戒めのためにメモとして残しておきます。 データを消すときはdeleteメソッドを使ってcascadeをtrueにすればリレーション先も消してくれると思っていました。 ただドキュメントよく見ると、この値、defaultではtrueなんですよね・・・ これではうまく消えない・・・ではどうすればいいのかというとリレーションを組んでいる部分でdependentオプションをtrueにしておかなければならないのです(´・ω・`) つまり2箇所をしっかりtrueにしておけばリレーション先もうまく消えてくれる、ということです。 これだけではブログ記事としてはなんだかなぁなので一応確認しておきます。 データベース、コードの確認 最後に データベース、コードの確認 CakePHPは前まとめたもので作ってあることを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く