はい、あります。 それを助けにしないでください!
ヘルパーは、ビューレベルでのみ設計されています。 コントローラで必要な場合は、設計が間違っています。
これをlibクラスなどにして、このようにコントローラで使用します。 と同じヘルパーでlibを使用するか、ラッパーヘルパー(文字列の場合はTextHelper、CakeNumberの場合はNumberHelper、CakeTimeの場合はTimeHelperなど)を使用して、ビュースコープのメソッドに簡単にアクセスします。より複雑なソリューションについては
は、セッションを見てみましょう:
CakeSession is the lib class.
SessionComponent wraps it for the controller layer
SessionHelper wraps it for the view layer
のLib「DateLib」について(あなたは何でもあなたのように長いクラス名はアプリとコア全体でユニークであるとのような、それに名前を付けることができます): /Lib /または/ Lib/PackageNameに入れてください。一方、PackageNameはあなたが定義することができます(例: "Utility")。 Libに直接入れるのではなく、PackageNameでグループ化する方がよいでしょう。
/Lib/Utility/DateLib.php
そして、あなたのコード内:
App::uses('DateLib', 'Utility');
$date = DateLib::format(); // for static methods
$DateLib = new DateLib();
$date = $DateLib->format(); // creating an extra object here
あなたは、あなたがすべき静的メソッドで作業することができます。これはケーキがCakeTime、CakeNumber、およびStringクラス(詳細はコードを参照)のためにそれを行う方法でもあります。
cakephpのバージョンを指定していませんでした。 – mark
これはcakephpです2.2.3 – rrd