タグ

ブックマーク / php-tips.com (7)

  • CakePHP の書き方 | php-tips.com

    この記事は、CakePHP3 Advent Calendar 2016 25日目の記事ではありません。 まとめ Controller/Componentにビジネスロジックを書かない カスタムfindを活用しよう 1テーブル1モデルではなく、場面によってモデルクラスを増やそう Modelless Form / Tableless Modelを活用しよう beforeSave/afterSaveは諸刃の刃 Behaviorにビジネスロジック書くのもあり View層ではView Cell/View Blockを活用しよう CRUDプラグインお勧め この記事を書いた動機 CakePHPにおいてビジネスロジックに該当するものをComponentに書くという記事を見かけるたびに、それはアンチパターンじゃないのと感じている日々。 ビジネスロジックをどこに書くべきか、共通処理をどこに書くべきかというのを、

    CakePHP の書き方 | php-tips.com
  • CakePHP 3 プラグインの名前空間をベンダー名付きにする方法

    詳しくはこちらを、 Plugins — CakePHP Cookbook 3.x documentation CakePHP 3の標準ではプラグイン名=名前空間名となります。 Fooというプラグイン名なら、モデルやコントローラーの名前空間は、\Foo\Modelや\Foo\Controllerになります。 AcmeCorp\ContactManager\Model, AcmeCorp\ContactManager\Controllerのようにベンダー名などを含めた名前空間をプラグインで使用したい場合は、以下のように/で区切って呼び出します。

    CakePHP 3 プラグインの名前空間をベンダー名付きにする方法
  • CakePHP 3では識別子がクォートされなくなっている

    New ORM Upgrade Guide — CakePHP Cookbook 3.x documentation Identifier Quoting Disabled by Default In the past CakePHP has always quoted identifiers. Parsing SQL snippets and attempting to quote identifiers was both error prone and expensive. If you are following the conventions CakePHP sets out, the cost of identifier quoting far outweighs any benefit it provides. Because of this identifier quotin

    CakePHP 3では識別子がクォートされなくなっている
  • CakePHP 3ではデータソース設定にprefixを指定できない

    CakePHP 3からは、Datasource設定でprefixの指定ができなくなっています。 マニュアルを見ても設定オプションにprefixがない。 Database Basics — CakePHP Cookbook 3.x documentation 関連する議論は全部読んでないけど、このあたり。 3.0 Implement connection prefixes · Issue #2666 · cakephp/cakephp [wip] 3.0 – Implement connection prefixes (#2666) by HavokInspiration · Pull Request #3843 · cakephp/cakephp WIP – 3.0 – Connection prefix by HavokInspiration · Pull Request #4505 ·

    CakePHP 3ではデータソース設定にprefixを指定できない
  • NetBeansでリモートマシンのphpunitを実行する

    最近の開発ではローカルマシン上ではなく、Vagrant等を利用しての仮想環境を用いた開発が主流となってきました。そこで、NetBeansからテストをリモートマシン上で実行し、結果を取得するスクリプトを紹介します。 ※NetBeans 8.0で動作確認を行っています。7.4では動作しません。 リモートマシンでphpunitを実行するには、カスタムphpunitスクリプトを利用します。 次のスクリプトを、プロジェクトディレクトリ内のnbprojectディレクトリまたは、testsディレクトリに設置して適宜変更します。また、実行権限を与えてください。(パーミッション755等) netbeans-remote-phpunit/phpunit-remote.sh at master 変更箇所は、REMOTE_PKEY、REMOTE_SERVER、REMOTE_ROOT、REMOTE_PHPUNIT

    NetBeansでリモートマシンのphpunitを実行する
  • CakePHP 2.xをComposerでインストールする

    CakePHP 3.xではComposerが正式にサポートされますが、2.xでもComposerを使ってCaekPHPのコアを管理することができます。 これまでCakePHP 2.xをComposerでインストールする場合、pearレポジトリの定義が必要でしたが、CakePHP 2.4.5 から composer.json が含まれるようになり、また、Packagistに登録されたため、ComposerによるCakePHPのインストールが比較的楽にできるようになりました。 最小セットアップ とりあえず、以下の手順でインストール可能です。 curl -sS https://getcomposer.org/installer | php php composer.phar require "cakephp/cakephp":"~2.4"

    CakePHP 2.xをComposerでインストールする
  • mod_rewrite (.htaccess) で簡単メンテナンスモード

    Webアプリフレームワークの「簡単メンテナンスモード」コンテストにエントリーされる方はいらっしゃいませんか。http://d.hatena.ne.jp/tanakahisateru/20110527/1306495794 (いろんなフレームワークの性格が見えて面白いと思う) http://twitter.com/tanakahisateru/status/74078560624721920 さあ、お待ちかね mod_rewrite / .htaccessの場合です。 というわけで、mod_rewriteを使えば、時間指定、IP指定、パス指定を行いつつメンテナンス画面を表示できます。 ポイントは、メンテナンス画面のステータスコードを「503」として返すこと。 これを怠るとメンテナンス画面がGoogleなどにインデックスされてしまいます。 このネタ、ずっと前から書きたかったんですよね! (それ

    mod_rewrite (.htaccess) で簡単メンテナンスモード
    okinaka
    okinaka 2011/06/07
    メンテナンスモード
  • 1