企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
首先,程序中要有个页面用来新建文章。一个比较好的选择是 /articles/create。这个路由前面已经定义了,可以访问。打开 http://localhost:8000/articles/create ,会看到如下的路由错误: [![](https://camo.githubusercontent.com/db19b58014f50137745188f08030d19828908592/687474703a2f2f6472702e696f2f66696c65732f353430653536333662396264352e706e67)](https://camo.githubusercontent.com/db19b58014f50137745188f08030d19828908592/687474703a2f2f6472702e696f2f66696c65732f353430653536333662396264352e706e67) 产生这个错误的原因是,没有定义用来处理该请求的控制器。解决这个问题的方法很简单:创建名为 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 ,会看到一个新错误: [![](https://camo.githubusercontent.com/6edabfd4b3d113c6a358a2db72f0fd22b237aa3a/687474703a2f2f6472702e696f2f66696c65732f353430653536613832353437622e706e67)](https://camo.githubusercontent.com/6edabfd4b3d113c6a358a2db72f0fd22b237aa3a/687474703a2f2f6472702e696f2f66696c65732f353430653536613832353437622e706e67) 产生这个错误的原因是,Laravel 希望这样的常规动作有对应的视图,用来显示内容。没有视图可用,Laravel 就报错了。 新建文件 app/views/articles/create.blade.php,写入如下代码: ~~~ <h1>New Article</h1> ~~~ 再次刷新 http://localhost:8000/articles/create , 可以看到页面中显示了一个标头。现在路由、控制器、动作和视图都能正常运行了。接下来要编写新建文章的表单了。