我正在编写一个Console Shell
,将文件保存为webroot
文件夹中的html文件,以便浏览器通过URL(即/file.htm)访问该文件。
我希望能够将ctp文件加载到变量中,解析php inn的过程,然后将最终变量保存为html文件的内容。有没有一套方法可以做到这一点?或者如果不是我怎么做这个定制?
感谢。
答案 0 :(得分: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 class。
的更多信息