CakePHP 1.3 を使用して、FooController を持つ小さなアプリケーションを作成しました。この FooController では、Paginator を使用して Foo のコンテンツをそのビューに配信しています。
FooController クラスの先頭で、Foo からのデータの準備を次のようにカスタマイズしました。
var $paginate = array(
'limit' => 100,
'order' => array('Order.created' => 'desc'));
ここで、「制限」の値を構成ファイルに入れたいと思います。
$config['list_length'] = '500';
そこで、bootstrap.php にロードする config ディレクトリにファイルを作成しました。list_length
それは問題なく動作します。たとえばbeforeFilter()
、クラスのの値をエコーできます。
しかし、ページネーターにその値を使用させることに失敗しました。
最初に試しました:
var $paginate = array(
'limit' => Configure::read('list_length'),
'order' => array('Order.created' => 'desc'));
しかし、それは次の PHP エラーで失敗します。
Parse error: syntax error, unexpected '(', expecting ')' in xyz/app/controllers/foo_controller.php on line 9
それから私は試しました:
public function beforeFilter() {
parent::beforeFilter();
$paginate['limit'] = Configure::read('list_length');
}
ただし、「500」ではなく「100」という値が引き続き使用されます。
これは、私が基本的な PHP の概念にあまり精通していないという事実に起因する、かなり些細な問題だと思います。現在の仕事では少しずつプログラミングをする機会があまりないので、本当に練習不足です。
これを行う方法と、ここで欠けている概念についてのヒントをいただければ幸いです。それについて少し読むことができます。