1

我正在编写一个Console Shell将文件保存为文件夹中的 html 文件,webroot以便浏览器可以通过 URL(即 /file.htm)访问它。

我希望能够将一个ctp文件加载到一个变量中,解析php inn进程然后将final变量保存为html文件的内容。有没有固定的方法来做到这一点?或者如果不是,我该如何定制?

谢谢。

4

1 回答 1

1

可以在 Shell 中手动使用 View 类,方法如下:

<?php

// Make the View class available.
App::uses('View', 'View');

class HtmlCreatorShell extends AppShell {

    function create() {
        // Initialize the View class.
        $view = new View(null);
        // Pass variables to the view like you would in a controller.
        $view->set('article', array('Article' => ...));
        // Render the view and store the HTML (string) output.
        $html = $view->render('Articles/view');
        // Output to the terminal for testing.
        $this->out($html);
    }

}

需要明确的是,Articles/view是相对于app/Views目录且没有.ctp扩展名的视图文件。

CakePHP API 有更多关于View 类的信息。

于 2013-05-01T19:20:00.483 回答