CakePHPクッキング

「 投稿者アーカイブ:柴田 篤志

」 一覧

WordPressとCakePHPの共存

サイトを作るのに便利なWordPress。プラグインも数多く用意されているし、いざとなれば自分でプラグインを作ることもできるので、ある程度何でもできる便利なツールなのですが、CakePHPと組み合わす

続きを見る

サイトマップの作成方法

Googleのウェブマスターツールに渡すためのサイトマップの作成方法です。 コントローラーの作成 まずはコントローラーを準備します。 <?php App::uses('AppCont

続きを見る

INSERTしたIDを取得する

データを保存した後にINSERTされたデータのIDを使って何かの処理をしたい場合はsaveメソッドの後に次のようにします。 <?php $this->Sample->getIn

続きを見る

ファイルの存在確認やフォルダー内のファイル一覧取得

特定のファイルの存在を確認したい場合や特定のフォルダー内にあるファイルの一覧を取得したい場合は次のようにします。 ファイルの存在確認 特定のファイルがサーバー上に存在するか確認するには次のよう

続きを見る

リンクの最後に常にスラッシュをつける方法

URLの最後に常にスラッシュをつけるかつけないかを統一する方法は、URLを統一(WWWありなしとスラッシュありなし)にまとめてありますが、サイト内でlinkメソッドを使う場合、スラッシュが常についてい

続きを見る

countやsumを使う時のフィールド名を指定する

CakePHPでcountやsumなどを使う場合、ちょっとした工夫が必要になります。 group byを使う countやsumなどを利用する場合で、各グループごとの集計をしたい時には、gro

続きを見る

Formの便利な使い方

問い合わせフォームや会員機能など、WEBサイトを作る際に必ず必要になるフォームですが、様々な便利機能があります。 Formのaccept-charsetを変更 フォームは基本的にapp/Con

続きを見る

ヘルパーをオーバーライドする

CakePHPで便利な機能が詰まったヘルパーですが、時々もう少しこうだったらという場合があります。 そんな時にやる方法として、コアライブラリ内のファイルを直接編集するというのはバージョンアップに対応

続きを見る

特定の時だけSQLの条件を追加するならSet::mergeを使う

SQLの条件を追加したい時に使うのがarray_mergeなどですが、CakePHPではSet::mergeという便利な関数が用意されています。 Set::mergeの使い方 <?php

続きを見る

ページネーションではDISTINCTではなく、GROUP BYを使う

重複したデータを省く時に使うDISTINCTですが、ページ送りで使う時には注意が必要です。 PaginatorでDISTINCT PaginatorでDISTINCTを使うには次のように設定し

続きを見る

Model内で別のModelを呼び出す

モデル内で別のモデルを使いたいケースがあった場合、次のようにすることで別モデルを呼び出すことができます。 ClassRegistry::initを使う 使いたいモデル内でClassRegist

続きを見る

CakePHPでGoogleAnalyticsAPIを使う

CakePHPでGoogleAnalyticsを使う方法について見ていきましょう。 Google側の設定 まずはGoogle側の設定を行っていきます。 Google Developers C

続きを見る

独自のfindを定義するfindMethods

findをより便利に、よりスッキリ書くのに、findMethodsを使う方法があります。 findMethodsの基本的な使い方を見ていきましょう。 コントローラーの設定 まずはコントローラ

続きを見る

TCPDFを使ってCakePHPでPDFを作成

CakePHPでPDFを作成するには幾つかの方法がありますが、今回はTCPDFを使った方法を紹介します。 TCPDFの準備 まずは、下記よりファイルをダウンロードします。 http://so

続きを見る

JavaScriptをコードの最下部に配置

SEOの観点からJavaScriptのコードは一番下に記述したいところ。 ですが、CakePHPではHTMLの表示部分として、レイアウトとビューの2種類に分かれています。 全ページ共通で使うのであ

続きを見る

無限スクロールをさせる

TwitterやFacebookのタイムラインを見ていて、ページの下にいくと次から次に過去の記事が表示されていきます。 Googleなどの検索結果のような津城のページ送りとは違う、あのような自動のペ

続きを見る

PHPExcelの導入

ExcelにDBのデータを表示して一覧を作ったり、請求書などのフォーマットがあるExcelに対してデータを表示させたりするには、PHPでExcelを簡単に扱うことができるPHPExcelが便利です。

続きを見る

Warning: SplFileInfo::openFile〜の警告が表示されたら

ShellとWEBの両方で同一のModelを呼び出す時に「Warning: SplFileInfo::openFile〜」と警告が出る場合があります。 そんな時の対処方法です。 警告の原因

続きを見る

連結されていないデータを抽出

通常、テーブルを連結してデータを取得するには、アソシエーションを利用しますが、連結をした時に、連結できていないデータだけを抽出したい場合があります。 その方法を見ていきましょう。 通常

続きを見る

データを取得する

データを取得したい時に少し変わった条件で取得したい場合があります。 それぞれのやり方を見ていきましょう。 ・同カラムに対してOR条件を指定する ・LIKE文であいまい検索 ・◯以上

続きを見る

常にSSL(https)接続する方法

サイトによっては常時SSL接続したい場合があります。 そのような時にCakePHPのAppControllerなどで対応することも可能ですが、AppControllerの読み込みはコアライブラリなど

続きを見る

CakeEmailを使った確認画面付きの問い合わせフォーム

サイトを構築する際、大抵必要になる問い合わせフォーム。 CakePHPは確認画面を挟まず、入力してすぐ完了とするような作りが多いですが、問い合わせフォームとなるとやはり確認画面は欲しいものです。

続きを見る

table(表)の作り方

tableを表示するにはtrタグやtdタグなどをそのまま書いてもいいのですが、CakePHPではそれらを補助してくれるヘルパーが用意されているので、それらの使い方を見てみましょう。 テー

続きを見る

アソシエーション

CakePHPの便利な機能の一つにアソシエーションがあります。 アソシエーションはそれぞれのModel間をつなぐ役割をしてくれます。 そのアソシエーションは全部で4種類あります。

続きを見る

ビューキャッシュ

ビューをキャッシュする方法です。 ビューキャッシュの設定 まずはapp/Config/core.phpの下記のコメントを外します。 <?php Configure::write('Ca

続きを見る

SSL接続にリダイレクトさせる

フォームなど特定のページのみSSLを強制的にかけたい場合があります。 SSLを強制する SSLをコントローラー全体にかけたい場合は、該当のコントローラーに下記のコードを追加します。 <

続きを見る

テスト環境と本番環境の判定

基本的な情報はbootstrap.phpにまとめることが多いですが、テスト環境と本番環境の内容をそれぞれ別々に管理するのは大変です。 ファイルを一つにして、プログラムで環境を振り分ける方法を紹介しま

続きを見る

DBに接続できない

「Cake is NOT able to connect to the database.」というエラーが出る CakePHP2系ではDBへの接続にPDOを利用する形式に変更になりました。PDOはP

続きを見る

XMLクラスの使い方

XMLクラスの使い方を紹介します。 XMLクラスを宣言 まずはコントローラーでXMLクラスが使えるように宣言しておきます。 <?php App::uses('Xml', 'Utili

続きを見る

ログローテーション

ログはどんどん溜まっていってしまい、サーバー容量の圧迫につながってしまいます。 そこでログが自動的にローテーションしてくれたらラクですね。 CakePHPではログローテーションの仕組みが導入さ

続きを見る

WordPressとCakePHPの共存

サイトを作るのに便利なWordPress。プラグインも数多く用意されて

サイトマップの作成方法

Googleのウェブマスターツールに渡すためのサイトマップの作成方法で

INSERTしたIDを取得する

データを保存した後にINSERTされたデータのIDを使って何かの処理を

ファイルの存在確認やフォルダー内のファイル一覧取得

特定のファイルの存在を確認したい場合や特定のフォルダー内にあるファイル

リンクの最後に常にスラッシュをつける方法

URLの最後に常にスラッシュをつけるかつけないかを統一する方法は、UR

countやsumを使う時のフィールド名を指定する

CakePHPでcountやsumなどを使う場合、ちょっとした工夫が必

Formの便利な使い方

問い合わせフォームや会員機能など、WEBサイトを作る際に必ず必要になる

ヘルパーをオーバーライドする

CakePHPで便利な機能が詰まったヘルパーですが、時々もう少しこうだ

特定の時だけSQLの条件を追加するならSet::mergeを使う

SQLの条件を追加したい時に使うのがarray_mergeなどですが、

ページネーションではDISTINCTではなく、GROUP BYを使う

重複したデータを省く時に使うDISTINCTですが、ページ送りで使う時

Model内で別のModelを呼び出す

モデル内で別のモデルを使いたいケースがあった場合、次のようにすることで

CakePHPでGoogleAnalyticsAPIを使う

CakePHPでGoogleAnalyticsを使う方法について見てい

独自のfindを定義するfindMethods

findをより便利に、よりスッキリ書くのに、findMethodsを使

TCPDFを使ってCakePHPでPDFを作成

CakePHPでPDFを作成するには幾つかの方法がありますが、今回はT

JavaScriptをコードの最下部に配置

SEOの観点からJavaScriptのコードは一番下に記述したいところ

無限スクロールをさせる

TwitterやFacebookのタイムラインを見ていて、ページの下に

PHPExcelの導入

ExcelにDBのデータを表示して一覧を作ったり、請求書などのフォーマ

Warning: SplFileInfo::openFile〜の警告が表示されたら

ShellとWEBの両方で同一のModelを呼び出す時に「Warnin

連結されていないデータを抽出

通常、テーブルを連結してデータを取得するには、アソシエーションを利用し

データを取得する

データを取得したい時に少し変わった条件で取得したい場合があります。

PAGE TOP ↑