Cakephp博客教程错误PostsController缺失

时间:2013-07-27 15:58:39

标签: php cakephp

我遇到了适合初学者的Cake PHP博客教程的问题。当我尝试打开site.com/posts/index页面时,我收到一条错误声明我需要创建一个PostsController.php文件,但我已经安装了PostsController.php。

我正在使用蛋糕PHP ver 2.3.8

这是我得到的错误

Error: PostsController could not be found.

Error: Create the class PostsController below in file: app\Controller\PostsController.php

我已按照教程编写了这封信,并将文件正确放入目录中。

这是我创建的PostsController.php文件。

<?
class PostsController extends AppController {

    public $helpers = array('Html', 'Form');



    public function index() {
         $this->set('posts', $this->Post->find('all'));
    }

    public function view($id = null) {
        if (!$id) {
            throw new NotFoundException(__('Invalid post'));
        }

        $post = $this->Post->findById($id);
        if (!$post) {
            throw new NotFoundException(__('Invalid post'));
        }
        $this->set('post', $post);
    }
}
?>

这是Post.php文件(模型)

<?
class Post extends AppModel {
}
?>

这是index.ctp文件

<!-- File: /app/View/Posts/index.ctp -->

<h1>Blog posts</h1>
<table>
    <tr>
        <th>Id</th>
        <th>Title</th>
        <th>Created</th>
    </tr>

    <!-- Here is where we loop through our $posts array, printing out post info -->

    <?php foreach ($posts as $post): ?>
    <tr>
        <td><?php echo $post['Post']['id']; ?></td>
        <td>
            <?php echo $this->Html->link($post['Post']['title'],
array('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); ?>
        </td>
        <td><?php echo $post['Post']['created']; ?></td>
    </tr>
    <?php endforeach; ?>
    <?php unset($post); ?>
</table>

我已经开始搜索解决方案并发现很多人遇到了同样的问题,但是要么他们的解决方案不适用于我的情况,要么他们自己修复并没有发布解决方案

请帮帮我......

更新

问题已解决,缺少<?php标记。

2 个答案:

答案 0 :(得分:4)

问题是因为您使用<?代替<?php来打开您的php。您可以使用完整标记打开php或使用php.ini启用短标记。

  

建议不要使用短标签&#34;捷径&#34;而是使用完整的标签组合。随着XML的广泛使用以及其他语言对这些标记的使用,服务器很容易混淆并最终在错误的上下文中解析错误的代码。目标服务器上也可能不支持短标签

答案 1 :(得分:0)

  

这是我创建的PostController.php文件。

控制器文件的名称是PostsController.php - 发生错误是因为找不到类。