タグ

CakePHPに関するuechocoのブックマーク (95)

  • CakePHPの「OrderedBehavior」と「TreeBehavior」はマジで使うべき : akiyan.com

    CakePHPの「OrderedBehavior」と「TreeBehavior」はマジで使うべき 2011-12-20 あまり知られてなさそうだけど、マジで便利に使えるCakePHPのビヘイビアを2つ紹介します。 OrderedBehavior http://bakery.cakephp.org/articles/alkemann/2008/09/21/orderedbehavior-2-1 順序を管理するビヘイビアです。Webアプリケーションを作っていると、多くの局面で、 「順序を自由に入れ替えたいんだけど...」 という機能要望が上がります。DBの仕様としては順序を振ってソートするだけでよいのですが、愚直にDBを操作しようとするとすごくめんどくさいです。順序番号の振りなおしとか、うわーやってらんねー、ってなります。 そんなめんどくさい実装も、OrderedBehaviorを使えば、超簡

  • フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記

    この記事はPHP Advent Calendarの19日目の記事です。 プログラマ10人集まれば、誰かMVCうんちく語るのが常。みんな大好きMVCの話です。僕は今年でPHPプログラマとして10年が経過しました。この節目の年に、これまで触ってきたフレームワークを振り返り、徹底的な個人的主観でMVCについて語っていきたい思います。忘年会シーズンでお疲れの皆様、ご安心ください。コード・ゼロでお届けします。 いろんな言語のいろんなフレームワークを触ってきたつもりですが、Javaはやってなかったんであまり詳しくないです。主にRails以降のフレームワークを見ていきます。 Railsの功績 PHPプログラマとしてRailsの登場で何にびっくりしたかというと、次の三つです。 router ActiveRecord cliと対話型shell ActiveRecordは魔法のように見えましたが、いずれ出ても

    フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記
  • Livlisのcakephp事例

    「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)Takayuki Gondoh

    Livlisのcakephp事例
  • CakePHPを使ったMVC設計のベストプラクティス - Sooey

    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にユーザー登録すれ

  • App::import() は凄い - 24時間CakePHP

    CakePHP Advent Calendar2010、残りちょうど10日となりました。 15日目担当のひろみです。よろしくお願いします。 いんとろだくしょん どんなCakeアプリケーションでも使うといっても過言では無いのがApp::import()です。 直接使うことはなくても、ヘルパーやコンポーネントをコントローラで指定すると、間接的にApp::import()を使っていることになります。(もっと言えば、dispatcherを呼ぶだけでApp::import()は呼ばれますが・・・) そんな名脇役、App::import()について、既知の事実も含めて、詳しい挙動を追いかけてみましょう。 App::import()の歴史 CakePHP1.1までは今となっては懐かしい、uses()やvendor()を使っていました。 ヘルパやコンポーネント、モデルの読み込みすらも、グローバル関数を使っ

    App::import() は凄い - 24時間CakePHP
  • Introducing CakeEntity

    Lithium: The Framework for People Who Hate Frameworks, Tokyo EditionNate Abele

    Introducing CakeEntity
  • CakePHPアプリケーションの基本的な設計指針 (3) - カスタムfindタイプ - - 24時間CakePHP

    イントロダクション 標準のfindの種類(first, all, count, threaded, neighbor, list)だけでは、ビジネスロジックに対応できないことがあります。 これに対するひとつのプラクティスとしては、カスタムfindタイプを定義することです。 この記事では、実際の開発を想定したリファクタリングの過程を通してカスタムfindタイプの定義の仕方と活用方法、その意義をご紹介します。 「次」の記事 例えば、カレントのレコードの「次*1」のレコードを取得したい場合、それに纏わる複雑な処理は、単純なqueryの発行だけでは済まないことがあります。 この「次」のレコードを探索するロジックを例に、ボブ*2がこれを実装していくお話をしましょう。 要件の定義 ボブの上司のサム*3は、クライアントの会社のサイトにブログモジュールを追加するプロジェクトの打ち合わせで、次の要件を定義し

    CakePHPアプリケーションの基本的な設計指針 (3) - カスタムfindタイプ - - 24時間CakePHP
  • 1-byte.jp - CakePHPを使ったテスト駆動開発

    ブログ初ポストはCakePHPを使ったテスト駆動開発です。 CakePHPはユニットテストとしてSimpleTestに対応しています。 SimpleTestをインストールするだけで、モデルやコントローラ、シェル、ルーティングクラスなどのユニットテストが出来るようになります。 今日はこのCakePHPSimpleTestを使ってテスト駆動開発の流れを説明します。 ただ、僕自身テスト駆動開発を学んだのは去年のCake祭りなので、至らない点が多々あります。 もし何かあれば、コメントでご指摘ください。 今更感もありますが、この場を借りてCake祭りでテスト駆動の指導をしてくださった、@sizuhikoさんに感謝します。 開発手順 まずは開発手順を示します。少し細かいですが、テスト駆動では以下のような順で開発していきます。 設計する。 テストケースを書く。 テストケースをデバッグする。 コー

  • chainfire[dev~blog] - CakePHP and performance (for noobs)

    You are reading an old article on an old site. It only still exists so the information is not lost. Comments and mosts links are hidden and disabled. For a couple of new web projects we are looking at CakePHP. One of my employees suggested it as he has some experience with it, and it has a good reputation as MVC framework. We did look at other frameworks, but looking at the benchmark others did th

  • Qdmailで件名がうまく表示できなかった件 - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHP 1.2 RC3を利用しています。 CakePHP 1.2 Finalが出たのでそろそろ乗り換えないと。。。 CakePHPでの開発時、コンソール処理も含めてメール送信はQdmailを使わせてもらってます。日語メールでCakeから安心して使えるコンポーネントなので、助かってます。ありがとうございます。 http://hal456.net/qdmail/ 今回、Qdmail 1.2.6とCakePHP1.2 RC3とpostfix-2.3.3-2.1.el5_2 on Redhat Linuxの環境で、日語メールを送信してました。ほとんどのクライアントでは問題なかったのですが、Becky2.42のある人の環境のみ、なぜか日語の件名が16文字目で切れてしまい、Base64のエンコード文字列が件名に混ざってしまいました。ほかのバージョンのBeckyでは発生しませんでした。 色

    Qdmailで件名がうまく表示できなかった件 - cakephperの日記(CakePHP, Laravel, PHP)
  • Web アプリの MVC 設計まとめ - もやし日記

    MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPressTwitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を

    uechoco
    uechoco 2011/07/22
    ロジック層
  • よく使う独自バリデーションルールをプラグインのbehaviorにまとめる - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHP1.2.3を利用しています。 今までは「独自のバリデーション関数を追加(日語の文字数チェック)」で書いたように、独自バリデーションルールをapp_modelとかに書いてモデルで使いまわしてたんですが、そろそろ汎用的なものはプラグインでまとめて複数プロジェクトで統一して使えるようにしたいと思い移行しました。 プラグインのbehaviorに独自バリデーションルールをまとめて、モデルから利用するまでのTipsです。 まずは、プラグインに関してはSlywalkerさんのCakePHP勉強会@tokyo #4の発表資料に目を通しておくと理解が早くなります。 http://d.hatena.ne.jp/slywalker/20090523/1243059244 プラグインの場所は、app/plugins以下が基ですが、複数プロジェクトで使いまわすので任意のディレクトリにした方が楽です

    よく使う独自バリデーションルールをプラグインのbehaviorにまとめる - cakephperの日記(CakePHP, Laravel, PHP)
  • 第4回CakePHP勉強会@TokyoのLTで発表してきました! - 忍び歩く男 - SLYWALKER

    補足 2009-05-28追記 opparaさんのご指摘で プラグイン三段活用 - 呆備録 スライド中、誤解されやすい表記があったので補足。 プラグインの呼び出し例は、 var $components = array('プラグイン名.コンポーネント名'); var $helpers = array('プラグイン名.ヘルパー名'); var $actsAs = array('プラグイン名.ビヘビア名'); の意味です。 具体的には、 /path/to/plugins/tools/controllers/components/hoge.php var $components = array('Tools.Hoge'); /path/to/plugins/tools/views/helpers/hoge.php var $helpers = array('Tools.Hoge'); /path/

    第4回CakePHP勉強会@TokyoのLTで発表してきました! - 忍び歩く男 - SLYWALKER
  • chocoby.jp

    Name chocoby, cho_co, Kenta Okamoto Links Blog (2019-) Blog GitHub (chocoby) Twitter (cho_co) Speaker Deck (chocoby) Mail Development CurryBu Web service to share and explore curry 🍛 jp_prefecture Convert japan prefecture code into prefecture name buranko Tool to parse a git branch name and append commit message Skills Programming - Ruby, Swift, Golang, JavaScript (Flow, TypeScript) Frameworks -

  • LazyModelの最適化モデルの読み込み | The Bakery, Everything CakePHP

    あなたがPHP5を実行している場合、これは何が必要です。このLazyModelは、モデルの読み込みを最適化します。これは、実際に使用されているものだけにロードされたモデルの数を制限します。これを使用するときは、速度を向上させることができますし、大幅にメモリ使用量を減少させます。あなたはビルドすべてのプロジェクトでLazyModelを使用する必要があります。それはわずか10秒などかかるプロジェクトにこれを追加するが、なるようにと〜時期尚早optimization’â€呼ばれるかもしれないがこれを見て簡単であり、時間のほとんどを支払うことになる、と述べた。 背景正直に言うと、このwasn’は、すべての私の考えをt。最初はアイデアが(RodrÃguezロレンツォJosà ©によって示した交流としてビンhttp://bin.cakephp.org/saved/39855/ )。その後、マッ

  • 超便利なDebugkitを画面キャプチャ付きで解説 - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHPの便利すぎるプラグインであるDebugkitが色々と機能追加されてたので、今の最新版でどうなっているか画面キャプチャをベースに解説します。thechaw.comにある最新ソースだとid:yandodさんがリクエストしてた「Viewにセットした変数とかヘルパーとか全て表示できるように」というのが、Variablesパネルに加わりました(2009/5/29のコミットで)。 基的には、下記からZIPダウンロードしてください http://github.com/cakephp/debug_kit/downloads (現在の最新版はVersion 1.1) http://thechaw.com/debug_kit/versions 追記 上記のzipはリリース版です。最新の機能を使いたい場合は下記からファイル名の日付が最も新しいZipダウンロードしてください。 http://git

    超便利なDebugkitを画面キャプチャ付きで解説 - cakephperの日記(CakePHP, Laravel, PHP)
  • CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記

    CakePHP Advent Calendar 2010 8日目 http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2510&forum=16 CakePHP Advent Calendar 2010の順番が回ってきました。8日目のkanonjiです。 最近立て込んでいたので、実はみんなの記事を今日読みました。どれも参考になる記事で、結構CakePHPを分かってきたかなと思っていたんですが、まだまだだって事が分かりました。 前日のMASA-Pさんの記事「【CakePHP】CakePHP Advent Calendar2010(day 7) : Tips for Routes | ECWorks Blog」では、ちょうど最近はまっていたRoutesのtipsを教えてもらったので、早速後でroutes.ph

    CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記
  • Transitionコンポーネント1.0をリリースします。 - 24時間CakePHP

    6/19追記:@k1LoWさんが紹介記事を書いてくれました。ありがとうございます! 概要 @k1LoWさんの多大な助力もあり、多くのバグフィックスと新機能の追加がありました。 トータルで89のテストケースがパスし、実践投入が現実的になりましたので、ここに1.0をリリースすることをお知らせします。 ダウンロード http://github.com/hiromi2424/TransitionComponent/downloads 「1.0」をダウンロードしてください。 主な新機能 Session->setFlash()のパラメータが全て指定できるように、$flashParamsプロパティが導入されました。(k1LoWさんの提案) mergedData()の引数に$callbackがつきました。これによりマージの仕方を好みに変更できます。デフォルトがSet::merge()になりました。(以前は

    Transitionコンポーネント1.0をリリースします。 - 24時間CakePHP
  • 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活メモ帳
  • CkaePHPプラグインのまとめ – 総括編

    CakePHPはやはり便利ですね。 記事を翻訳したことで、まだまだ知らない世界があったことを知りました。 そしてまた新しい知識欲が湧いてきました。 皆さんはどうですか? 何か使ってみたいプラグインはあったでしょうか。 これまで載せたCakePHPプラグインの記事を一覧にしておきます。 認証編 AuthComponentの代替えになるプラグインやfacebookと連携するプラグインが紹介されています。それに加え、使いにくいACLを使いやすくするツールも。個人的には一番、興味のある記事でした。 検索とページネーション/ファイルアップロード編 CakePHPの使いにくいページネーションを使いやすくするプラグイン、Yahoo! BOSSのプラグインが紹介されています。ファイルアップロードはTransloaditというサービスに対応させるプラグインから、メジャーなメディアプラグインまで。 最適