如何在shell脚本中使用Router?

时间:2011-11-17 17:52:12

标签: shell cakephp cakephp-1.3

我在app/vendors/shells中有一个脚本,它通过cron定期执行。在该脚本中,我导入Router

class AutosuggestFileShell extends Shell {
    var $uses = array('User','Country','City','Speciality','Alias');

    function main() {
        App::import('Core', 'Router');
        //...

但脚本没有使用我在routes.php中定义的路由。例如,我已定义:

Router::connect('/plastic-surgeon/*', array(
    'controller' => 'users', 'action' => 'profile'
));

但是在剧本中:

'path' => Router::url(array(
    'controller' => 'users', 'action' => 'profile', $user['User']['slug']
))

未生成网址plastic-surgeon/slug - 而是生成网址users/profile/slug

Router::url()可以在网站的不同位置正常工作,例如在视图中生成站点地图。因此我想我需要从shell脚本导入一些东西,或者可能无法从shell脚本加载routes.php中包含的数据?

(我正在使用CakePHP 1.3)

1 个答案:

答案 0 :(得分:3)

如果您想导入路线,请尝试

config('routes');