牛骨文教育服务平台(让学习变的简单)

5.1 挖地基

首先,程序中要有个页面用来新建文章。一个比较好的选择是 /articles/create。这个路由前面已经定义了,可以访问。打开 http://localhost:8000/articles/create ,会看到如下的路由错误:

产生这个错误的原因是,没有定义用来处理该请求的控制器。解决这个问题的方法很简单:创建名为 ArticlesController 的控制器。执行下面的命令即可:

$ php artisan controller:make ArticlesController

打开刚生成的 app/controllers/ArticlesController.php 文件,控制器就是一个类,继承自 BaseController。在这个 ArticlesController 类中定义了对应的资源动作。动作的作用是处理文章的 CRUD 操作。

修改 ArticlesController.php 文件中的

    public function create()
    {
        //
    }

    public function create()
    {
        return View::make("articles.create");
    }

在 PHP 中,方法分为 public、private 和 protected 三种,只有 public 方法才能作为控制器的动作。

现在刷新 http://localhost:8000/articles/create ,会看到一个新错误:

产生这个错误的原因是,Laravel 希望这样的常规动作有对应的视图,用来显示内容。没有视图可用,Laravel 就报错了。

新建文件 app/views/articles/create.blade.php,写入如下代码:

<h1>New Article</h1>

再次刷新 http://localhost:8000/articles/create , 可以看到页面中显示了一个标头。现在路由、控制器、动作和视图都能正常运行了。接下来要编写新建文章的表单了。