CakePHP:如何从同一网站上的简单PHP脚本访问Cake功能

时间:2012-03-05 15:38:38

标签: php cakephp

我维护了一个15年的网站,最初是用庞大的PHP代码编写的。我最近嫁接在CakePHP中实现的后端,我将它放在主网站上的自己的文件夹中(所有网址看起来都像http://www.mysite.com/console/<cake stuff>)。

这个后端工作正常,我在CakePHP部分有很多有用的功能 - 但是现在我希望能够从主站点访问这些功能,因为在vanilla PHP中重新实现它似乎是浪费。 / p>

当然有一个选项是Cake代码生成JSON结果,然后在PHP页面中我可以使用curl调用动作,伪代码:

$data = curl('http://mysite.com/console/accounts/data.json');
$accounts = json_decode($data);

但是在同一网站中使用curl页面似乎非常低效。 相反,我希望有一个类似于这样的类:

require('clever_stuff.php');
$cakeAccessor = new CakeAccessor(<settings>);
$accounts = $cakeAccessor->requestAction('orders','data');

我在网上搜索过,找不到任何东西。但在尝试实现我自己的类之前(我希望通过在命令行中调用用于调用Cake功能的shell脚本中的代码来实现这一点)我想知道是否有任何新的开源模块已经这样做了。

请注意:将所有页面从主站点移动到webroot目录是不可行的。

1 个答案:

答案 0 :(得分:0)

可能是CakeResponse类的子类,修改其send方法以停止自动输出,然后使用修改版本的webroot/index.php将Dispatch发送到您的自定义类,并从中检索Cake的输出它