如何在cakephp的Shell文件中调用控制器

Mit*_*hta 1 cakephp

我正在使用 PHP Mailer 并且我在应用程序控制器中有邮件功能,我想在 shell 文件中访问它以进行 crone 作业。

任何人都可以指导我如何做到这一点?

谢谢

小智 5

抱歉,这太晚了,但如果在此之前它会帮助我,那么对于未来的观众:

借用CakePHP 的一个稍微不同的情况:用数组作为参数调用另一个控制器的动作的最佳方法?

到目前为止,这对我有用(还没有在控制器中尝试过更复杂的东西):在 .../app/Console/Command/BillsShell.php 中:

App::import('Controller', 'Billing');

class BillsShell extends AppShell {
    public function main() {
        $billing = new BillingController();
        $billing->constructClasses(); //I needed this in here for more complicated requiring component loads etc in the Controller
        $billing->test();
    }
}
Run Code Online (Sandbox Code Playgroud)

在 BillingController.php 中:

class BillingController extends AppController {
    function test() {
        echo "****Big test!!!*****\n\n"; 
    }
}
Run Code Online (Sandbox Code Playgroud)

对于蛋糕 2.1.3:

$> .../app/Console/php cake.php bills

Welcome to CakePHP v2.1.3 Console
---------------------------------------------------------------
App : app
Path: .../app/
---------------------------------------------------------------
****Big test!!!*****
Run Code Online (Sandbox Code Playgroud)