• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel 框架控制器 Controller原理与用法实例分析

    本文实例讲述了Laravel 框架控制器 Controller原理与用法。分享给大家供大家参考,具体如下:

    一、控制器存在的意义

    路由可以分发请求;
    路由中还可以引入 html 页面;
    我们可以在 route/web.php 中搞定一切了;
    但是如果把业务逻辑都写入到路由中;
    那路由将庞大的难以维护;
    于是控制器就有了很明显的存在价值;
    把业务逻辑写在控制器中;
    路由只负责转发请求到指定的控制器即可;

    二、创建控制器

    我们可以直接使用 Laravel 内置的命令生成很多代码,例如控制器;

    artisan 就是 laravel 的命令行接口;
    就是根目录下的 artisan 文件;

    下面来使用命令创建一个控制器

    php artisan make:controller ArticleController

    运行完成后会生成一个 app/Http/Controllers/ArticleController.php 文件

    接下来就需要在新创建的控制器中写各种方法,但是,只要在刚刚的命令中加入一个参数就可以自动生成一些方法

    php artisan make:controller ArticleController --resource

    如果直接运行的话是会报错的;
    提示 Controller already exists!
    因为我们刚已经创建过 ArticleController了;
    所以我们需要先把 app/Http/Controllers/ArticleController.php 文件删掉再运行;
    那么会再次生成一个 app/Http/Controllers/ArticleController.php 文件;

    ?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    
    class ArticleController 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 规范生成的格式;
    除了 GET POST 它还包含了一大堆请求方式;
    PUT 、 PATCH 、 DELETE 、HEAD 、OPTIONS;
    也就是说 Route:: 后面还可以跟上面这些方法;

    Route::put('article', function () {
      return view('article');
    });

    三、什么是 artisan 

    laravel 是一个现代化框架;
    它对命令行有着非常好的支持;
    artisan 就是 laravel 的命令行接口;
    就是根目录下的 artisan 文件;

    我们可以把它理解为命令行级的单入口文件;
    跟 index.php 文件的使命一样;
    所有的命令行都从它这走;
    所以如果想使用命令行;
    就需要 cd 到项目的根目录下;
    或者手动指定一长串路径;

     在命令行中以 php 开头意思是用 php 来执行某个文件;
    php index.php 意思就是使用 php 的命令行模式运行 index.php ;
    命令行下是可以不需要文件后缀就能识别的;

    你可以创建个 test 的文本文件,然后在里面写一些php代码,使用命令行 php test 也是可以正常运行的;
    所以根目录下的 artisan 文件并没有带上 .php ;

     命令行主要有两个方向的应用;
    第一是生成文件;
    第二是执行任务;

    四、路由绑定控制器方法

    在上面生成的控制器方法 index 中写入如下代码

    然后写一个路由绑定这个控制器方法,在  routes/web.php 中添加如下代码

    Route::get('article/index', 'ArticleController@index');

    打开链接 

    http://127.0.0.1:8000/article/index

     

    更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • Laravel框架源码解析之模型Model原理与用法解析
    • Laravel框架源码解析之入口文件原理分析
    • Laravel框架源码解析之反射的使用详解
    • Laravel框架数据库CURD操作、连贯操作总结
    • PHP开发框架Laravel数据库操作方法总结
    • Laravel框架中扩展函数、扩展自定义类的方法
    • Laravel框架路由配置总结、设置技巧大全
    • Laravel 5 框架入门(一)
    • Laravel 5框架学习之数据库迁移(Migrations)
    • Laravel 5框架学习之向视图传送数据
    • Laravel 5框架学习之用户认证
    • Laravel框架集合用法实例浅析
    上一篇:Laravel 框架路由原理与路由访问实例分析
    下一篇:ThinkPHP3.1.2 使用cli命令行模式运行的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Laravel 框架控制器 Controller原理与用法实例分析 Laravel,框架,控制器,Controller,