![Amazon.co.jp: CakePHPで学ぶ継続的インテグレーション: 渡辺一宏 (著), 吉羽龍太郎 (著), 岸田健一郎 (著), 穴澤康裕 (著), 丸山弘詩 (編集): 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/96c4e717c3e27d830edb6c104081d4bd9094c7de/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51WBSfG6p3L._SL500_.jpg)
CakePHPでWebサービスを公開して、Backbone.jsでアクセスするという、今話題のJavaScript Web Applicationを試してみたのですが、いろいろと苦労したのでまとめてみました。 ソースコードはGitHubに置いてあります。 更新: 本記事ではCakePHPとBackbone.jsを連携させる部分に焦点を当てているために、Backbone.jsのViewを使っていません。View使った場合については「CakePHP + Backbone.jsで作るJavaScript Web Application ~ Viewの利用 ~」を参照してください。 更新2: 本記事ではCakePHPに合わせるようにBackbone.js側のモデルにカスタムparseメソッドを実装しています。逆にCakePHP側の出力するJSONフォーマットを変更したものが「CakePHP + B
CakePHPのrestfulインタフェースにAngularJSからリクエストしてデータを取得 CakePHPで効率的にrestful APIを開発 AngularJSでCRUD操作を行うアプリケーションを開発するにはどうすればよいか? 本エントリーでは、 バックエンドにCakePHP フロントエンドにAngularJS を利用した開発ノウハウをCRUD操作の「Read」に焦点をあてて書いてみたい。 バックエンド側については、CakePHPで効率的に開発を進めることができる。具体的には公式ドキュメントの以下のURLを参考にrestful apiを組むことができる。 http://book.cakephp.org/2.0/ja/development/rest.html RecipesController.phpを作成し、以下のアクションを作成した。 class RecipesControl
こんにちは、管理部兼エンジニアのtetsuです。ひさびさにCakePHPネタを書いてみます。 今回はAuthComponentの使用例として、非認証ページと認証ページを1つの「AppController」でコーディングする例を紹介します。 構成例 CakePHPのプレフィックス機能を利用し、プレフィックス「admin」は認証ページ、プレフィックスが無い場合は非認証ページとします。 //app/config/core.php Configure::write('Routing.prefixes', array('admin')); URL上は以下のようになります。 ●非認証ページ http://exsample.com/コントローラー名/アクション名 ●認証ページ http://exsample.com/admin/コントローラー名/アクション名 実装例 それでは以下、実装例です。 まずは「
もう本当に大変で、1週間潰れました。 同じように貴重な土日を潰してしまう人が一人でも減ることを願って。 環境 CentOS 6.5 x64 nginx 1.0.15 PHP 5.5.13 MySQL 5.5.37 CakePHP 2.4.0 目標 サブディレクトリにあるCakePHPアプリを動作させたい。 いいかえるとhttp://example.com/subdir/ にアクセスして、サーバー上の/usr/shared/nginx/example.com/subdirにあるCakePHPアプリにアクセスしたい。 stackoverflowなどに同様の質問は沢山挙がっているのですが、どのベストアンサーも私の環境では正常に動作しませんでした。 CakePHP公式サイトのnginx設定例じゃダメなの? ダメなんです。。。 server { listen 80; server_name www.
CakePHPチームは5.0.0が入手可能になったことをお知らせします。これはCakePHPの新しい章の始まりであり、5.0は安定版になりました。5.0.0は2年間の開発期間を経て、多数の新機能と動作改善を盛り込んでいます。また、4系で非推奨になった機能を削除するという大きな変更も含まれています。 重要な機能 PHP8.1が必要。 フレームワーク全体でタイプヒント(型ヒント)の改善。CakePHP は、フレームワーク全体で引数の型を公式化するために、ユニオン型を活用するようになりました。 PHPUnit 10.xへのアップグレード。 ORMで新たにenum型のマッピングをサポート。型チェックを改善することで、より表現力豊かなモデルレイヤーを実現しました。 名前付きパラメータを持つテーブルファインダにより、より表現力豊かなクエリ構築 API を提供。 chronos 3.xによる、時間専用の
CakePHPを使ったMVC設計のベストプラクティス 個人的にはCakePHPはあまり好きではないのですが、CakePHP開発メンバーによるMVCデザインの記事 (CakePHP のおいしい食べ方)で紹介されていたBest Practices in MVC Design with CakePHP (php|architect’s C7Y)はMVCフレームワーク利用者にとってとても有用な情報だったので、訳してみました(php|architectの方には翻訳許可を頂いています)。 この記事を読んでドメインモデルに興味を持った方は、エンタープライズ アプリケーションアーキテクチャパターン(PoEAA)やDomain-Driven Design: Tackling Complexity in the Heart of Softwareに手を出してみるのもいいかも。他に、InfoQにユーザー登録すれ
3ヶ月くらい前に教えてもらったまま、忘れそうになってたのでまとめます。プロジェクト毎にComposerを持てるというのが、最初分かりにくかったですけど、分かってしまえば、個々のプロジェクトで完結出来て、むしろ良いかもしれないと思っています。 Composerのインストール $ cd my_cakephp_app $ curl -sS https://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /Users/myuser/dev/my_cakephp_app/composer.phar Use it: php composer.phar $ ls Conf
CakePHPの最新安定版である、バージョン2.4.1をComposerを使用してインストールし、プラグインのDebugKitをインストールするまでを公式ドキュメントをもとに解説します。 追記(2013/10/2) このディレクトリ構成だとCakePHP本体側とプロジェクト側とで定数に違いが出てしまいBakeコマンドが使えなくなることが判明しました。なので、ディレクトリ構成を公式ドキュメントに近づける形でちょっと変えます。 http://book.cakephp.org/2.0/ja/installation/advanced-installation.html まず、プロジェクトのルートディレクトリになるフォルダを作ります。今回の例ではホームディレクトリに今回のプロジェクトルートになる「example-app」という名前でディレクトリを作成します。 mkdir ~/example-app
* 2014/02/21にBoxファイルをアップデートしました。 CentOSにCakePHP2の環境を用意したVagrant Boxを作成してみました。CakePHP2の開発やお試しに使えるものです。「http://202.133.112.84/cent6-cakephp2.box」からダウンロードできます。良かったら、使ってみてください。開発用なのであしからず。Vagrantをインストールしていれば、下記のコマンドを実行するだけでCakePHP2の環境が手に入ります。 $ mkdir -p ~/workspace/vagrant/cent6-cakephp2 $ vagrant box add cent6-cakephp2 http://202.133.112.84/cent6-cakephp2.box $ cd ~/workspace/vagrant/cent6-cakephp2 $
日本でとても人気のあるフレームワーク、CakePHPですが話題の依存性管理ツールComposerと組み合わせる事でさらに便利に利用する事ができます。今回はその方法をVagrantを使ったデモと共にご紹介します。この記事で利用した環境のVagrantfileを使って頂くことでみなさんの手元でも同じ動作を確認できます。CakePHPをComposerからインストールした事が無い方は是非お試しください。 CakePHPをComposerで導入する利点 通常、CakePHPを利用する場合はZipかTarで配布されている最新版をダウンロードし、まるごとリポジトリに追加して開発を行うという形になります。すぐに動作させられるという点ではとても便利ですが、開発が長期になりフレームワークを最新版に差し替えたい場合に手作業が必要になります。またリポジトリ内に自分が記述したわけではないコードが大量に含まれるよう
CakePHP 1.2.x, 1.3.x, 2.x の Paginate / PaginatorComponent に SQL インジェクション可能な脆弱性 CakePHP(1.2.x 以降全て)の Paginate / PaginatorComponent にて SQL インジェクション可能な脆弱性が見つかりました。 すでに cakephper さんの blog でも注意勧告されていますが、 連休中にリリースされた情報ということで見落としている人もいると思うので、こちらでも。 内容 この脆弱性を悪用すると Paginate / PaginatorComponent にて SQL インジェクションが可能となります。 現在は影響の大きさを考慮して、公式サイトでは脆弱性の詳細は明らかにされていませんが(一定期間、ユーザのアップグレードを待って公開するようです。)、私が開発環境で試したところ、S
CakePHPに組み込むPaypal決済(エクスプレス チェックアウト)のモジュールを御紹介いたします。 Paypalの決済処理をCakePHPのモジュールにしました Paypalには様々な決済方法が用意されていますが、最もスタンダードなソリューションは「エクスプレスチェックアウト(Express Checkout)」です。「ウェブペイメントスタンダード」も機能的にはほぼ同じですが、カートシステムを構築するのであればAPIの使えるエクスプレスチェックアウトを使う方がよいでしょう。 Paypalの決済処理はやや複雑です。エクスプレスチェックアウトを使ったCakePHP用のモジュールを作成しましたので、ご紹介いたします。 ※ご利用の場合にはPaypalのマニュアルも確認しながら行ってください。 Modelの用意 まず、Model「Paypal.php」を用意します。このモデルを用いて、決済の処
アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするということはとてつもなく多くの時間を手作業に費やすことになるデプロイ先の環境の数が多くなればなるほど作業の時間も増える手作業で作業すると間違えやすい。特に手順が複雑だったり環境が多かったりすると確率は飛躍的にあがるもしデプロイしたアプリケーションに問題があってすぐに戻さなければならない場合に多くの時間がかかる。場合によってはビジネス上の機会損失に繋がる本来は価値を生むフィーチャーを実装することに時間をかけたいはずが、こういうことをやっているとどんどん時間がなくなっていきます。また手作業のリスクや消費される時間を恐れてデプロイの回数を減らしてしまうのは、ビジネス側からみると納得いか
(cakePHP)コントローラからモデルにアクセスで、1.2RCへのバージョンアップメモを書くと書いたまま忘れてたので、いまさらですが、upしときます。 と、いっても当時(10か月前)の作業メモがちょっとしかなかったので、そこに書いてる範囲内のないようです。 (ちなみに、今って最新版は 1.2.3.8166 にまでなってるんですね。時間ある時にアップデートしなくては。。。) まず、バージョンアップ時に参考にさせてもらったのが、「CakePHP1.1 to 1.2」発表資料PDFと、blog.katsuma.tv:CakePHPを1.1から1.2へ上げるときの注意点 です。 CakePHP1.1 to 1.2」発表資料PDFにあるように、app ディレクトリ配下を 1.2 にコピーします。 そして、1.2 では view ファイルの拡張子が、thtml から ctp に変更になっているので、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く