专栏首页小白的成长之路laravel 学习之路 控制器Controller

laravel 学习之路 控制器Controller

前面学习了路由可以分发请求还可以引入html页面,这些都可以在 route/web.php 中搞定。

但是如果项目设计的业务很繁杂,都写在路由里会非常臃肿难以维护,于是今天的主角 Controller 控制器的价值就很明显了,把业务逻辑写在控制器中,路由只负责转发请求到控制器。

创建控制器

都9102年了既然用上了现代话框架必须玩点高逼格的方式使用命令行的方式创建控制器

  • laravel 是一个现代化框架,它对命令行有着非常好的支持,artisan 就是 laravel 的命令行接口
  • 我们可以把它理解为命令行级的单入口文件,跟 index.php 文件的使命一样,所有命令都需要通过他,所有如果需要使用命令行就需要 cd 到项目根目录去或者指定一长串路径这个看个人喜好了up是喜好到根目录去。
  • 使用很简单 php artisan 起手 后面跟上响应的命令,在命令行中以 php 开头意思是用 php 来执行某个文件,php index.php 意思就是使用 php 的命令行模式运行 index.php
  • 命令行下是可以不需要文件后缀就能识别的所以根目录下的 artisan 文件并没有带上 .php

好了让我们用 php artisan 来创建控制器在项目根目录执行下列代码 php artisan make:controller TestController

如果最近没做坏事,洗过脸的话会看到成功的提示

并会生成一个 app/Http/Controllers/TestController.php 文件,打开是这个样子
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    //
}

不但自动创建了文件还定义了命名空间并且继承好了父级控制器,这样我们直接写CURD就好了

接下来我们给上面的命令加个 --resource 选项 php artisan make:controller TestController --resource 如果直接运行的话是会报错提示Controller already exists!

这是因为我们刚已经创建过 TestController了,所以我们需要进入项目根目录执行下面的命令把刚刚创建的文件删除掉 cd app/Http/Controllers/ && rm -rf TestController.php 删除掉后再回到项目根目录执行刚刚的命令

如果人品正常,那么会再次生成一个 app/Http/Controllers/TestController.php 文件,打开会是这个样子

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

怎么样逼格高吧,不但增删改查的方法都定义好了,连注释都写好了,这其实是按 RESTful 规范生成的格式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • laravel 学习之路 路由视图初探

    我大致了解了 laravel 下,在开始一个 Http 程序需要先定义路由。之前的例子中,我们的业务逻辑都是在路由里实现,这对于简单的网站或 web 应用没什么...

    风清醉
  • swoole入门 初识

    如果你的业务中,有用到以上等特性,你又在用使用php,那么完全可以用swoole来完成了,再具体点的场景如下:

    风清醉
  • 什么是一致性哈希算法?

    一致性hash就是 计算每个分布式服务器落点的算法 假设,服务器都在一个线上或则环上,缓存请求落点顺时针寻找最近的服务器,这样的好处就是,如果一台服务器dow...

    风清醉
  • GET型常见的注入点判断方法

    大家在对目标网站进行测试的时候如果挖到了SQL注入是不是要给厂商提供复现步骤和漏洞证明截图呢,提交复现步骤的时候我们只需要证明存在这个漏洞就可以过审,所以今天就...

    酷酷的繁星
  • 40个常用的基本Linux命令

    在本教程中,我将展示一些非常基本的Linux命令,并提供一些示例,这些示例能使你更加熟悉Linux命令行。 要成为Linux专家,对于初学者来说,第一步就是开始...

    三分恶
  • 零基础使用Django2.0.1打造在线教育网站(二十五):常见的网络攻防

    努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

    编程思录
  • PHP的CLI命令行运行模式浅析

    在做开发的时候,我们不仅仅只是做各种网站或者接口,也经常需要写一些命令行脚本用来处理一些后端的事务。比如对数据进行处理统计等。当然也是为了效率着想,当一个事务有...

    硬核项目经理
  • Django 自定义权限管理系统详解(通过中间件认证)

    特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试

    砸漏
  • Suse 11下多路径及udev配置

        最近给客户基于SuSe 11 SP3下多路径部署Oracle 10g RAC。SuSe 11下用10g,也算一朵奇葩,连篇文档都比较难找,谁叫Oracl...

    Leshami
  • ASP.NET MVC 5 - 将数据从控制器传递给视图

    在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库...

    葡萄城控件

扫码关注云+社区

领取腾讯云代金券