質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

3回答

6728閲覧

CakePHPで共通関数を作成する方法

goodgood

総合スコア30

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

1グッド

1クリップ

投稿2014/09/08 01:00

CakePHPで共通関数を生成する方法について知りたいです。

何度も、複数のコントローラで繰り返されるコードがいくつかあり、このコードを関数にしたく、違うコントローラで使いたかったのですが、やり方がわかりません。

どうしたらいいでしょうか。

ssmxgo👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

CakePHPでは共通処理をComponentに入れることになっています。
Controller内のComponentフォルダにComponentを作成します。
ファイル名とクラス名には必ず○○Componentと付けてください。

lang

1class HogeComponent extends Component { 2 public function foo() { 3 //do something 4 } 5}

それをControllerから

lang

1 2class TestController extends AppController { 3 //使用するComponentを宣言する。 4 public $components = array('Hoge'); 5 6 public function index() { 7 // 宣言すると自動で$this->○○に入るので使用する 8 $this->Hoge->foo(); 9 } 10}

でいけます。

投稿2014/12/27 17:19

ShoheiTai

総合スコア897

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Cakephp2.5.6なら、クラスを'cake/app/Lib'或は'cake/app/Controller/Component'に入れて、

lang

1class Helper 2{ 3 public static function c($a) 4 { echo $a; } 5}

使い方
コントロールで

lang

1Helper::c('hello');

以上

投稿2014/11/18 01:00

hisou

総合スコア46

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

AppController.phpに関数を格納してみてください。

すべてのコントローラはこのクラスに延長するからです。
そのため**$this->myFunc();**を使えばこの関数をアクセスすることができますよ。

投稿2014/09/09 02:30

isaotsuneda

総合スコア316

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問