문제

Is it possible in CakePHP to organise controllers (and models) in subfolders? Thanks.

도움이 되었습니까?

해결책

Yes you can, but it is deprecated. See the discussion here. The last post on this page describes how to do it in the bootstrap.

다른 팁

It's not deprecated at all. You can accomplish this using the App:build and point to your subfolders. For example, if you want to put all of your Twitter models in Model/Twitter to keep your code organized, you can add the following to the bootstrap.php:

App::build(array(
    'Model' => array(APP . 'Model' . DS . 'Twitter' . DS),
));

Now, any model file you put in Model/Twitter will be available when you call it.

See more here: http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#App::build

For those of you looking for a CakePhp3 version of this answer here is a link to the routing documentation. Use router prefixing that matches your controller sub-namespaces / directory structure.

http://book.cakephp.org/3.0/en/development/routing.html#prefix-routing

In CakePHP 3 you can define additional class paths in your composer.json (see http://book.cakephp.org/3.0/en/development/configuration.html#additional-class-paths)

Btw if you want to organize your template files in subfolders you have to add their paths in your app.php at App.paths http://book.cakephp.org/3.0/en/development/configuration.html#general-configuration

Just in case someone else is searching for this piece of information... ;)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top