2011-11-20 49 views
0

我正在使用CakePhp构建一个与Linkedin API接口的应用程序。我有一个简单的页面,它在会话变量中的GET变量和应用程序身份验证令牌中提供linkedin成员标识。页面控制器应该通过cURL调用API &设置$ connection变量,完成控制器代码,然后显示* .CTP。CakePHP执行两次.ctp文件

但是,发生了什么事。控制器执行一次没有问题,然后执行* .CTP文件没有问题。然后执行控制器AGAIN,但这次没有成功从linkedin API拖动数据,然后执行* .CTP文件,再次在调试日志中创建各种错误“通知”。奇怪的是,即使调试日志显示CAKE无法设置$ connection变量,基于该变量的数据在页面呈现时也会正确显示。

我已经使用了一个Debugger :: Log('xxx')标志来指示何时开始和结束控制器和* .CTP执行。这里是页面上的一次刷新的调试日志

2011-11-20 04:16:23 Debug: "START controller function" 
2011-11-20 04:16:24 Debug: "End controller function" 
2011-11-20 04:16:24 Debug: "START the .ctp" 
2011-11-20 04:16:24 Debug: "END the .ctp" 
2011-11-20 04:16:25 Debug: "START controller function" 
2011-11-20 04:16:26 Debug: Notice (8): Undefined variable: connection in [C:\wamp\www\ta\app\controllers\reviews_controller.php, line 100] 
2011-11-20 04:16:26 Debug: "End controller function" 
2011-11-20 04:16:26 Debug: "START the .ctp" 
2011-11-20 04:16:26 Debug: Notice (8): Trying to get property of non-object in [C:\wamp\www\ta\app\views\reviews\write_review.ctp, line 7] 
2011-11-20 04:16:26 Debug: Notice (8): Trying to get property of non-object in [C:\wamp\www\ta\app\views\reviews\write_review.ctp, line 36] 
2011-11-20 04:16:26 Debug: Notice (8): Trying to get property of non-object in [C:\wamp\www\ta\app\views\reviews\write_review.ctp, line 41] 
2011-11-20 04:16:26 Debug: Notice (8): Trying to get property of non-object in [C:\wamp\www\ta\app\views\reviews\write_review.ctp, line 43] 
2011-11-20 04:16:26 Debug: "END the .ctp" 

该页面实际呈现罚款。我只是想了解为什么CAKE会运行两次* .CTP文件(它没有重定向),并在调试文件中创建所有错误通知。我以为Cake运行控制器功能,并且只有当控制器到达最后才运行一次* .CTP文件?任何人都知道会发生什么?

谢谢!

回答

0

此问题可能是由导致CakePHP中的标准错误处理的东西引起的,在这种情况下,它首先调用您的函数,然后显示错误消息。