在控制器和应用程序文件夹外调用CakePHP函数


Calling CakePHP functions out of controller and app folder

我有一个CakePHP项目,其结构如下:

myrootapp
|__ app
   |__webroot
      |__soap.php

我在这个soap.php中调用我的Web服务,但我在Web服务函数中调用了一些cakephp控制器,比如这个链接。

但是App::import在我的应用程序中导致了一个错误,因为App::import没有导入soap.hp.

如何在webroot文件夹中的soap.php页面中导入和使用CakePHP函数?我想使用App::cakeppFunctions来导入控制器。

**更新**

我在webroot的soap.php中调用App:import。我想解决这个问题,并在这个文件中调用我的控制器。

PHP Fatal error:  Class 'App' not found in 

谢谢。

为了使用框架中的东西,您需要首先加载/初始化它。您可以通过将CakePHP引导文件包含到soap.php文件中来实现这一点:

require_once('/path/to/your/cakephp/lib/Cake/bootstrap.php');

这将初始化框架,包括App类。

试试这个

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost/app/controller/functionName"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch);  
curl_close($ch);

CakePHP有很好的工具:http://book.cakephp.org/2.0/en/development/rest.html

App::import('Model', 'YourModelName');
$result = new YourModelName();
$abc = $model->find('all');