タグ

cakephpに関するmurabito_RXのブックマーク (10)

  • 「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ

    お久しぶりです。@at_grandpa です。 今回、Model View Controller について再考する機会があったので、自分なりに整理してみました。 勘違い MVCの勘違いに関しては、以下のSlideShareが有名かと思います。 やはりお前らのMVCは間違っている @mugeso これにはドキッとしたことを覚えています。 このスライドで「間違っている!」と指摘されている形式を、そういうものだと理解していたからです。 上記で指摘されている勘違い形式を、自分なりにわかりやすく噛み砕き、図にしてみました。 Userからの入力をControllerが受け取る Controllerはデータ置き場であるModelからデータを取得する 取得したデータをControllerが加工する 加工したデータをViewに転送する Viewは、受け取ったデータを視覚表現しディスプレイに表示する 自分の中

    「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ
  • CakePHPシェルの単体テストのやり方 | 1000g

    CakePHPのシェルの単体テストは少々面倒くさいです。WEB表示を前提としたコントローラやコンポーネントと違ってCLIへの出力をするので、CakePHP内のリクエスト順が違います。そのためDispatcherの設定などを変えなければなりません。 ただ、深く考えずにシェルのテストをしたいだけなら、Coreのテストからソースをコピーするだけで動きます。 以下に簡単なサンプルを載せます。 サンプル テスト対象のシェル: uso.php // app/vendors/shells/uso.php <?php class UsoShell extends Shell { function main() { $this->out("uhouho"); } } ?> // app/tests/cases/shells/uso.test.php <?php App::import("Shell", "U

  • [CakePHP] belongsTo と hasMany の関係図 | アイビースター

    PHPのフレームワーク「CakePHP」を使用していると 「あれ?どっちだっけ?」 ということがたまにあります。何に迷うのかは色々とあるのですが、その中の1つがアソシエーションです。 アソシエーションとはテーブルとテーブルを結びつけるもので、Accessの場合、リレーションとよく言います(あまりAccessと比較する人もいませんが(^_^;))。 CakePHPではアソシエーションに hasOne (1対1) hasMany (1対多) belongsTo (多対1) hasAndBelongsToMany (多対多) の4種類があり、特によく使用されるのが、hasManyとbelongsToではないでしょうか? このhasManyとbelongsToが私の頭の中では1対多だったか多対1だったかがすぐ忘れてしまうんです。 「英語読めばわかるんじゃないの?」 といわれそうですが、それでも、頭

  • コントローラ単位でSSL必須なページはSSLへリダイレクト - cakephperの日記(CakePHP, Laravel, PHP)

    cakephp 1.2.6で開発してます。 コントローラ単位に、SSLが必須であれば強制リダイレクトさせる機能。 //app/config/bootstrap.php <?php // HTTP, HTTPSのサーバ名を定義 define( 'SERVER_HTTP', 'http://hoge.example.com' ); define( 'SERVER_HTTPS', 'https://hogessl.example.com' ); // SSLを利用するサイトはTRUE, 利用しないサイトはFALSEを指定 define( 'USE_SSL', TRUE ); ?> //app/app_controller.php <?php //プロパティ var $useSSL = true; //SSLを必須化しないコントローラでは、falseにする function beforeFilte

    コントローラ単位でSSL必須なページはSSLへリダイレクト - cakephperの日記(CakePHP, Laravel, PHP)
  • CakePHP1.3でデバッグレベルが0の時でもSQLのログを記録する方法

    CakePHPではデバッグレベルが2の場合、レンダリングした画面の下部に発行したSQLのログを表示してくれます。 この機能は非常に便利ですが、番環境などでデバッグレベルを0にしていると、発行したSQLを確認する手段がありません。 番環境で何かしらデータベースエラーが発生した場合に、発行されているSQLを確認したいと思っても、そのままでは方法が無いのが現状です。 そこで、利用しているデータベースのドライバクラスを改良して、CakePHPのデバッグレベルに関わらず、発行したSQLをログファイルに保存できるように改造してみます。 ロギング用のデータベースドライバを作成 CakePHPのコアファイルに手を入れるのは避けたいので、データベースのドライバクラスを継承したログファイル保存用のドライバクラスを作成します。 ここではMySQLを利用する場合を想定します。 他のデータベースを利用している場

    CakePHP1.3でデバッグレベルが0の時でもSQLのログを記録する方法
  • INSPIRE TECH

    CakePHPではデバッグレベルが2の場合、レンダリングした画面の下部に発行したSQLのログを表示してくれます。 この機能は非常に便利ですが、番環境などでデバッグレベルを0にしていると、発行したSQLを確認する手段がありません。 番環境で何かしらデータベースエラーが発生した場合に、発行されているSQLを確認したいと思っても、そのままでは方法が無いのが現状です。 そこで、利用しているデータベースのドライバクラスを改良して、CakePHPのデバッグレベルに関わらず、発行したSQLをログファイルに保存できるように改造してみます。 ロギング用のデータベースドライバを作成 CakePHPのコアファイルに手を入れるのは避けたいので、データベースのドライバクラスを継承したログファイル保存用のドライバクラスを作成します。 ここではMySQLを利用する場合を想定します。 他のデータベースを利用している場

    INSPIRE TECH
  • | 森の道を拓く

    森の道を拓く モリさんが感じた事、経験した事、考えた事を書いていくブログです。 主にPHPサッカー関連の話しになります。 なるべく一日一回を目標に書いていきますので、観覧して頂けると嬉しいです。

    | 森の道を拓く
  • CakePHP-06:CakePHPのpaginator全メソッド - 弱小PHPerの憂鬱

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 CakePHP1.2.4.8284のページャーの全メソッドと引数を解説。 公式マニュアルには$paginatorの解説が全く載っていません。 マニュアルでは「$paginator->numbersで前後10件ずつ表示したい」「1ページ目にリンクしたい」すら解決できません。 他に解説しているところもほとんど見あたりませんでした。 仕方ないのでソースから解読。 よくわかんないところは想像で適当に補っています。 特に$optionsの中身とかはさっぱりわからないので間違っている可能性大。 first ( [ $first [ , $options ] ] )

  • この先生きのこるには

    ちょっとずつ複雑なことをやっていっているのですが、正直まだ自分で作っていくイメージがついていません。 加速と減速=イージングタイムラインパネルのフレーム数がでてるとこの下のスライダーでワークエリアの幅を操作できるグラフエディターというのが存在する。値グラフと速度グラフ。グラフを編集するときに触るのはハンドルだけイージングの速度が早くてコマが見える時はモーションブラーをかける(13:40)モーションブラーは色々ごまかせてしまうので最後につけたほうがいい。処理が重いから最初のほうでつけるとプレビューのときにしんどいとかもある(ただプレビューのときだけオフにするとかもできる)

    この先生きのこるには
  • CakePHP Error: The requested address '' was not found on this server. - foldrr's weblog

    環境 CakePHP 1.2.2.8120 問題 新しく CakePHP アプリケーションを配置してブラウザからアクセスすると下記のエラーが発生する。 Error: The requested address '' was not found on this server. 原因 app/config/database.php の設定が間違っている。 app/config/core.php の Debug.level を 1 にしていない。 対策 app/config/database.php の設定を確認する。 app/config/core.php の Debug.level を 1 に設定する。 Debug.level は番環境では 0 にするが、番環境初期配置時には初回起動時のみ 1 にする。 Debug.level を一時的に変更すると正常に動作する理由については不明。

    CakePHP Error: The requested address '' was not found on this server. - foldrr's weblog
  • 1