私は次のディレクトリ構造を持っています:
modules/
api/
controllers/
ApiController.php
InventoryController.php
OtherController.php
init()メソッドは複数のコントローラー間で共通であるため、次のような親コントローラークラスにリファクタリングしたいと思います。
class Api_ApiController extends Zend_Controller_Action
{
public function init()
{
// common code
}
}
私が試してみると:
class Api_InventoryController extends Api_ApiController
私は得る:
致命的なエラー:クラス'Api_ApiController'が4行目の/application/modules/api/controllers/InventoryController.phpに見つかりません
ZendFrameworkがApi_ApiControllerをmodules/api / controllers / ApiController.phpにマップしないのはなぜですか?
ApiControllerをlibrary/に配置し、名前空間を登録することでこれを回避する方法を見つけましたが、それは私にはハックのようです。