其实yaf doc已经很的很明白了。这篇只是为大家详解一下。
首先,为了更好的与web区分(配置文件,argc、argv判断等等).重新创建一个入口文件是比较好的做法。
$app = new \Yaf\Application(APP_PATH . "/conf/application.ini")
$app->getDispatcher()->dispatch(new \Yaf\Request\Simple())
这样入口文件就完成了。
接下来,你需要学会yaf命令行的调用方法。来一个示例。
php cli.php request_uri="/daemon/start"
Yaf_Request_Simple的构造函数可以不接受任何参数, 在这种情况下, Yaf_Request_Simple会在命令行参数中, 寻找一个字符串参数, 如果找到, 则会把请求的request_uri置为这个字符串.
request_uri=”/daemon/start” 中的路径便是Controller的路由路径.
在例子里指向/Controller/Daemon.php 中的 startAction().
Part 2.
经过鸟哥提醒,才知道还有一种方法,通过Yaf_Application::execute(..)去实现。
先看一下这个函数的定义:
public void Yaf_Application::execute ( callable $entry , string $... )
This method is typically used to run Yaf_Application in a crontab work. Make the crontab work can also use the autoloader and Bootstrap mechanism.
第一参数需要定义一个回调函数,也可以是一个类中的某个函数。
示例:$application->execute(“main”, $argc, $argv)
或
$application->execute(array(“Class”,”Method”), $argc, $argv)
后面的参数为一个可变列表,值为你希望传入的参数。
综上所述,我们的另外一种入口文件可以写成:
$app = new \Yaf\Application(APP_PATH . "/conf/application.ini")
$app->execute('callback', $avg1, $avg2 , ...)
如果需要通过bootstrap去初始化。只需要和web一样改为:
$app->bootstrap()->execute('callback', $avg1, $avg2 , ...)
即可。
根据你的具体情况去完成它,然后敲下回车。是不是发现天气好晴朗?
enjoy!
应用程序错误解决方法:1.检查电脑是否存在病毒,请使用百度卫士进行木马查杀。
2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4.如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止(重启电脑)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)