タグ

ブックマーク / book.cakephp.org (87)

  • ルーティング - 2.x

    This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! ルーティング¶ ルーティングはURLをどのコントローラーのアクションと関連付けてマッピングするか決める機能です。 これはCakePHP でURLをより細かく柔軟に設定できるようにするために作られました。 Apache の mod_rewrite はルーティングのために必要でないです。しかし、これはアドレスバーを綺麗に見せます。 CakePHP でのルーティングはまた 配列による引数を文字列によるURLに変換するリバースルーティングも含みます。 リバースルーティングによって、簡単にアプリのURLの構造を全部のコードの書き直しをせずにリファクタリングできます。 ルーティングの設定¶ ル

  • コンポーネント - 2.x

    コンポーネント¶ コンポーネントはコントローラ間で共有されるロジックのパッケージです。 CakePHP には、様々な共通のタスクを支援するための素晴らしいコアコンポーネントが用意されています。 あなた独自のコンポーネントも作成できます。もしコントローラ間でコピー&ペーストしたい箇所が あった場合、その機能を含むコンポーネントの作成を検討しましょう。コンポーネントを作成することで、 コントローラのコードを綺麗に保ち、プロジェクト間のコードの再利用につながります。 各コアコンポーネントの詳細はそれぞれの章で説明します。詳しくは、 コンポーネント を参照してください。 ここでは、独自のコンポーネントを作成する方法を紹介します。 コンポーネントの設定¶ コアコンポーネントの多くは設定を必要としています。コンポーネントが設定を必要としている例は、 認証 や Cookie などにあります。 これらのコ

  • FlashHelper - 2.x

    FlashHelper は、 FlashComponent によって $_SESSION にセットされたフラッシュメッセージを表示するために使用します。 FlashComponent と FlashHelper は、 主にフラッシュメッセージを表示するためのエレメントを使用します。 Flash エレメントは、 app/View/Elements/Flash ディレクトリの配下に配置されます。 CakePHP の App テンプレートに success.ctp と error.ctp があることを 確認してください。 FlashHelper は、非推奨となった SessionHelper の flash() メソッドを 置き換えるヘルパーです。 フラッシュメッセージの表示¶ フラッシュメッセージを表示するためには、FlashHelper の render() メソッドを 使用します。

  • フラッシュ - 2.x

    フラッシュ¶ class FlashComponent(ComponentCollection $collection, array $config = array())¶ FlashComponent は、フォームの処理後やデータの確認のために表示する一回限りのメッセージ通知に 使用します。 このような通知を CakePHP では「フラッシュメッセージ」と呼んでいます。 FlashComponent は、 $_SESSION にフラッシュメッセージを書き込みます。そして、 FlashHelper を使ってビューで表示します。 FlashComponent は、 非推奨となった SessionComponent の setFlash() メソッドを 置き換えるコンポーネントです。 フラッシュメッセージの設定¶ FlashComponent は、フラッシュメッセージの設定に2つの方法を用意し

  • FormHelper - 2.x

    FormHelper¶ class FormHelper(View $view, array $settings = array())¶ FormHelper はフォーム作成時の力作業のほとんどを代行してくれます。 フォームをすばやく作成する機能に特化して、バリデーション (入力値の妥当性検査)や部品の配置、レイアウトを効率化します。 FormHelper はまた柔軟でもあります。 通常は組み込まれた規則に沿ってほとんどのことをやってくれますが、 特定のメソッドを使って必要な機能だけを使うこともできます。 フォームの作成¶ FormHelper の利点を活用するために最初に使うメソッドは create() です。この特別なメソッドはフォームの開始タグを出力します。 FormHelper::create(string $model = null, array $options = array

  • ヘルパー - 2.x

    ヘルパー¶ ヘルパーはアプリケーションのプレゼンテーション層のためのコンポーネントのようなクラスです。 多くのビューやエレメント、レイアウトで共有される表示ロジックを含んでいます。 この章ではヘルパーの作り方と CakePHP のコアヘルパーでできる基的なタスクの概要を説明します。 CakePHP にはビューの作成に役立ついくつかの特徴的なヘルパーがあります。それらは、 整形式のマークアップ(フォーム含む)、テキスト、時間、数値の整形に役立ったり、 Ajax 機能をスピードアップさせたりします。CakePHP のヘルパーに関するさらなる情報は、 各ヘルパーの章をご覧ください。

    kathew
    kathew 2017/06/09
    ビューの中から動的にヘルパを呼び出せるんだね。エラー用ビューは特定のコントローラを持たないから助かった
  • データベースの基本 - 3.10

    データベースの基¶ CakePHP データベースアクセス層は、リレーショナルデータベースを扱うほとんどの面を 抽象化して、サーバーコネクションの保持、クエリーの生成、SQL インジェクションの防止、 スキーマチェックと変更、デバッグとデータベースに送信したクエリーのプロファイリング などの支援を提供します。 クイックツアー¶ この章で説明する機能は、下位レベルのデータベースアクセス API でできることを説明します。 もし ORM についてもっと詳細に知りたい場合は、 クエリービルダー や テーブルオブジェクト のセクションを参照してください。 データベース接続を作る一番簡単な方法は、 DSN 文字列を使います。 use Cake\Datasource\ConnectionManager; $dsn = 'mysql://root:password@localhost/my_databa

    kathew
    kathew 2017/06/06
    CakePHP3向けのリファレンスだけど、この項目はまあまあCakePHP2にも通じる部分がある(参考にした部分がたまたまそうだっただけかも)
  • PaginatorHelper - 2.x

    PaginatorHelper¶ class PaginatorHelper(View $view, array $settings = array())¶ ページ制御ヘルパーは、ページ番号や次ページへ/前ページへのリンクといった、 ページ制御関連の出力を行なうもので、PaginatorComponent と組合せて使います。 ページ制御を組み込んだデータセットの作成や、ページ制御関連のクエリーについての詳細は ページ制御 を参照してください。 ソートリンクの作成¶ PaginatorHelper::sort($key, $title = null, $options = array())¶ パラメータ: $key (string) -- ソートしたいレコードセットのキーの名前。 $title (string) -- リンクのタイトル。$title が null の場合は $key の語尾

  • Hash - 2.x

    配列マネジメントはとても強力かつ便利なツールであり、適切に使いさえすれば、 よりスマートでより最適化されたコードを書くことができるようになるものです。 CakePHP ではとても便利なユーティリティ群を Hash クラスの中に static で用意しており、まさにこれをするのに使えます。 CakePHP の Hash クラスは Inflector クラスと同様で、どのモデルや コントローラからでも呼ぶことができます。 例: Hash::combine()。 Hash パス構文¶ 下記のパス構文は Hash が持つすべてのメソッドで使われるものです。 ただし、すべてのパス構文が、すべてのメソッドで使用可能であるとは限りません。 パスの式はいくつものトークンで構成されます。トークンは、配列データの移動に使う『式』と、 要素を絞り込む『マッチャー』の2つのグループに大きく分けられます。 マッチャ

    kathew
    kathew 2017/02/06
    よく使う get や extract、combine、insert や remove の他にも便利そうな関数が沢山ある / 大きなデータを渡すと処理にものすごく時間がかかったりするので、小さなデータを扱う時向け
  • CakePHP 2.0の新機能 - 2.x

    CakePHP 2.0の新機能¶ モデル¶ モデルの初期化プロセスは軽量化されました。 モデルのアソシエーションは遅延読み込みがされるようになり、多量のモデルやアソシエーションをもつアプリケーションは顕著に起動処理の時間を減少させることでしょう。 モデルは初期化プロセス時にデータベースのコネクションを必要としなくなり、find操作が発生するとき、またはカラムの情報が必要となった時のみ、データベースに初めてアクセスがなされます。 ビュー¶ View::$output¶ ビューは常に、 $this->output を通して最後に描画されたコンテンツ(ビューかレイアウト)を保持するようになりました。 ヘルパーで $this->_View->output を利用できます。 このプロパティを更新することでビューの描画から出てきたコンテンツを書き換えることができます。 ヘルパー¶ HtmlHelper

  • CakeEmail - 2.x

    CakeEmail¶ class CakeEmail(mixed $config = null)¶ CakeEmail は、メール送信の新しいクラスです。このクラスを使うと、アプリケーションの 任意の場所からメールを送信できます。コントローラの中で EmailComponent を使うことに加えて、 シェルやモデルからもメール送信できます。 このクラスは、 EmailComponent を置き換えるもので、より柔軟にメール送信できます。 例えば、既存の SMTP や Mail トランスポートの代わりにメールを送信するための独自のトランスポートを 作成することができます。 基的な使い方¶ まず最初に、 App::uses() を使って、クラスがロードできるようにします。

  • HtmlHelper - 2.x

    HtmlHelper¶ class HtmlHelper(View $view, array $settings = array())¶ CakePHP における HtmlHelper の役割は、 HTML に関連するオプションを より簡単、高速に作成し、より弾力的なものに変えることです。 このヘルパーを使うことで、アプリケーションの足どりはより軽くなり、 そしてドメインのルートが置かれている場所に関して、よりフレキシブル なものになるでしょう。 HtmlHelper にある多くのメソッドは $options という 引数を持っています。これにより、いかなる追加属性もタグに 付け加えることができます。これは $options を使う 方法についての簡単な例です。 付けられる属性: <tag class="someClass" /> 配列での指定: array('class' => 'som

  • TimeHelper - 2.x

    TimeHelper¶ class TimeHelper(View $view, array $settings = array())¶ Time ヘルパーはメッキをかぶせることであなたの時間を節約します。 Time ヘルパーには時間に関する情報を手早く処理するための2つの役割があります。 時間を形式にそって文字列にすることができます。 時間を調べることができます。ただし時間を変えることはできません。 バージョン 2.1 で変更: TimeHelper は CakeTime クラスに含まれるようにリファクタリングされました。 これにより、ビューの外からでもより簡単に使えるようになりました。 ビューで使う際は TimeHelper クラスからこれらのメソッドを使うことができます。 また、通常のヘルパーメソッドのように $this->Time->method($args); と 呼び出すことも

  • ビュー - 2.x

    This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! ビュー¶ ビュー (View) は MVC の V です。ビューはリクエストに対する出力を生成する役割を担います。 ここで言う出力とは、大抵の場合、HTML フォームや XML、JSON などを意味しますが ファイルストリームの生成やユーザがダウンロード可能な PDF の生成もビューレイヤーの 役割となります。 CakePHP では下記の典型的な描画シナリオに対応するためのいくつかの組込みビュークラスを 用意しています。 XML や JSON ウェブサービスを作成する場合、 JSONとXMLビュー を利用できます。 保護されたファイルや動的に生成されたファイルを提供する場合、 ファ

  • Associations: Linking Models Together - 2.x

    This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! Associations: Linking Models Together¶ One of the most powerful features of CakePHP is the ability to link relational mapping provided by the model. In CakePHP, the links between models are handled through associations. Defining relations between different objects in your application should be

  • セキュリティ - 2.x

    セキュリティ¶ class SecurityComponent(ComponentCollection $collection, array $settings = array())¶ Security コンポーネントを使うと、アプリケーションにさらに堅牢なセキュリティを導入できます。 このコンポーネントは、以下の様々なタスクのためのメソッドを提供します。 アプリケーションが受け付ける HTTP メソッドの限定 CSRF 防御 フォーム改ざん防止 SSL の利用を要求 コントローラ間の通信制限 全てのコンポーネントと同様に、いくつかの設定できるパラメータがあり、 これら全てのプロパティは、直接設定したり、コントローラの beforeFilter の中で、 プロパティと同じ名前のセッターメソッドで設定できます。 Security コンポーネントを使用することで、自動的に CSRF とフォーム

  • Security - 2.x

    This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release!

  • 独自のメソッドとプロパティ - 2.x

    独自のメソッドとプロパティ¶ CakePHP のモデルの標準機能があれば、やりたいことはなんでもできると思います。 しかし、モデルもただのクラスなのだということを忘れないでください。 クラスなので、好きなメソッドを追加したり、好きなプロパティを定義したりできるのです。 データの保存や取得を扱う操作は、モデルクラスの中に入れてしまうのがいいでしょう。 こういう考え方は、ファットモデル (fat model) といわれます。 class Example extends AppModel { public function getRecent() { $conditions = array( 'created BETWEEN (curdate() - interval 7 day)' . ' and (curdate() - interval 0 day))' ); return $this->

  • バーチャルフィールド - 2.x

    バーチャルフィールド¶ バーチャルフィールドは任意の SQL 表現を作り、それをモデルのフィールドとして割り当てることを 可能にします。これらのフィールドは保存することはできませんが、 読み込み操作時にモデルの他のフィールドと同じように扱われることになります。 また、モデルの他のフィールドと同じように、モデルのキーを元に配置されます。 バーチャルフィールドの作成¶ バーチャルフィールドを作るのは簡単です。各々のモデルに、フィールド => 式 という内容の配列を用いた $virtualFields プロパティを定義することができます。MySQL を用いたバーチャルフィールドの 定義の例としては、以下のようになります。

  • グローバル定数およびグローバル関数 - 2.x

    グローバル定数およびグローバル関数¶ CakePHP を使った皆さんの日常のほとんどの業務ではコアクラスやメソッドを用いることになるでしょうが、 ちょっとした役に立つ便利なグローバル関数も CakePHP にはたくさんあります。この関数のほとんどは CakePHP のクラスと一緒に使うためのもの(モデルやコンポーネントクラスのローディングなど)ですが、 他の多くは、配列や文字列の扱いを少し楽にしてくれるものです。 また、CakePHP のアプリケーションで利用可能な定数も同時におさえておきましょう。 これらの定数を用いることはよりスムースなアップグレードの助けになるだけでなく、 CakePHP アプリケーション内の特定のファイルやディレクトリを指し示す便利なやり方でもあります。 グローバル関数¶ 以下、CakePHP の使用可能なグローバル関数です。その多くは、デバッグしたり内容を翻訳した