在脚本中包含YII应用程序

时间:2014-02-11 10:55:16

标签: yii

我想创建一个通过CLI调用的PHP脚本。我希望该脚本可以访问Yii应用程序。因此我创建了一个名为(script.php)的文件

// file: script.php
ob_start();
include "index.php"
ob_clean();

echo "This is my script !";

我必须包含* ob_start *和* ob_clean *,好像我没有正在渲染应用程序的布局。

这是正确的方法吗?或者我应该做些什么?

1 个答案:

答案 0 :(得分:0)

如果你想处理php控制台,强烈建议使用CConsoleCommand。您可以创建必须在protected/commands路径中的控制台中操作的文件。所以你的课程将如下所示:

class TestConsoleCommand extends CConsoleCommand{}

您可以将PHP代码实现到您的函数中,但请注意,类中最重要的方法是init()方法。一旦consoleCommand运行,将调用此方法。

另一个重要的注意事项是,控制台命令的配置与非控制台不同。这意味着当您的普通Yii应用程序正在运行时,您正在使用main.php配置文件,该文件位于protected/config/main.php。要在Yii ConsoleApp中访问模型和数据库配置...,您必须完成位于protected/config/console.php的console.php配置文件。

您可以在ConsoleApp运行时在此文件中配置数据库连接,以便访问该文件。您还可以导入所有需要进行交互的课程。

一些有用的链接和文档:

我希望它有所帮助:)