我想创建一个通过CLI调用的PHP脚本。我希望该脚本可以访问Yii应用程序。因此我创建了一个名为(script.php)的文件
// file: script.php
ob_start();
include "index.php"
ob_clean();
echo "This is my script !";
我必须包含* ob_start *和* ob_clean *,好像我没有正在渲染应用程序的布局。
这是正确的方法吗?或者我应该做些什么?
答案 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运行时在此文件中配置数据库连接,以便访问该文件。您还可以导入所有需要进行交互的课程。
一些有用的链接和文档:
我希望它有所帮助:)