我在cakephp 3.x中找到了上述问题。
namespace App\Controller;
class UsersController extends AppController
{
public function index()
{
$users = $this->Users->find('all');
print_r($users); // <-- print_r creates a problem in cakephp 3.x
$this->set('users', $users);
}
}
我已运行上面的代码,我发现以下错误:
Error: Cannot access parent:: when current class scope has no parent
File /var/www/html/cakephp-3-1-5/vendor/cakephp/cakephp/src/ORM/Query.php
Line: 1018
由于print_r而出现此错误。我也试过pr,var_dump,但存在同样的问题。
然后在评论print_r之后,它关闭了apache并显示“连接已重置”,然后我需要重启我的apache服务,然后才能正常工作。
所以问题就是我认为print_r。但我不知道究竟是什么问题,因为作为开发人员我需要调试我的结果集。这里限制我使用print_r,pr和var_dump。
我的目的是显示结果集。
结果集
(int) 0 => object(Cake\ORM\Entity) {
'id' => (int) 1,
'title' => 'Distance between two addresses using Google Maps API and PHP',
'description' => 'Calculate distance between two addresses........',
'created' => object(Cake\I18n\Time) {
'time' => '2015-11-30T11:50:21+0000',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'modified' => object(Cake\I18n\Time) {
'time' => '2015-12-01T06:32:17+0000',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'status' => true,
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[repository]' => 'Posts'
},
(int) 1 => object(Cake\ORM\Entity) {
'id' => (int) 2,
'title' => 'Ajax Pagination in CodeIgniter Framework',
'description' => 'CodeIgniter have the pagination library by........',
'created' => object(Cake\I18n\Time) {
'time' => '2015-11-30T11:50:21+0000',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'modified' => object(Cake\I18n\Time) {
'time' => '2015-11-30T11:50:21+0000',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'status' => true,
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[repository]' => 'Posts'
}
cakephp 3.x有问题吗? cakephp 3.x稳定释放? 我可以将它用作开发框架,还是像以前的版本一样使用2.x?
感谢。
答案 0 :(得分:1)
在做了一些研究后,我发现cakephp 3.x中存在一些Segmentation错误,直到现在。因此,我们可以使用pj($var)
或debug($var)
代替print_r(), pr()
。
感谢你的态度。