私はcakephpが初めてです。ページとカテゴリの 2 つのコントローラーで共有される Rest というクラスがあります。
したがって、AppController でクラスのインスタンスを作成することを考えました。
class AppController extends Controller {
public $rest;
public function DoRest() {
require 'Component/Rest.php';
if(!isset($this->rest))
$this -> rest = new Rest();
return $this -> rest;
}
}
次に、categoriesController でアクセスできます。
public function index()
{
if ($this->request->is('requested')) {
return $this -> DoRest() -> getCategories();
} else {
$this -> set('categories', $this -> DoRest() -> getCategories());
}
}
そしてページコントローラーで:
public function category() {
$this -> set('items',$this -> DoRest() -> getCategoryById($this->request->query['id']));
}
category.ctp 内で、次の方法でカテゴリにアクセスできます。
$categories = $this->requestAction('categories/index');
ただし、今はこのエラーが発生しています:
Error: Cannot redeclare class Rest
私は何を間違えましたか?