返回顶部
首页 > 资讯 > 精选 >Laravel路由与MVC怎么应用
  • 428
分享到

Laravel路由与MVC怎么应用

2023-07-04 18:07:59 428人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Laravel路由与mvc怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel路由与MVC怎么应用”吧!1、路由路由的作用就是将用户的不同url请求转发给

这篇文章主要讲解了“Laravel路由与mvc怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel路由与MVC怎么应用”吧!

1、路由

路由的作用就是将用户的不同url请求转发给相应的程序进行处理,laravel的路由定义在routes文件夹中,默认提供了四个路由文件,其中WEB.PHP文件定义基本页面请求。

1.1、基本路由

最基本的路由请求是get与post请求,laravel通过Route对象来定义不同的请求方式。例如定义一个url为'req'的get请求,返回字符串‘get response':

Route::get('req',function (){  return 'get response';});

当我以get的方式请求Http://localhost/Laravel/laravel52/public/req时,返回如下:

Laravel路由与MVC怎么应用

同理,当定义post请求时,使用Route::post(url,function(){});

1.2、多请求路由

如果希望对多种请求方式采用相同的处理,可以使用match或any:

使用match来匹配对应的请求方式,例如当以get或post请求req2时,都返回match response:

Route::match(['get','post'],'req2',function (){  return 'match response';});

any会匹配任意请求方式,例如以任意方式请求req3,返回any response:

Route::any('req3',function (){  return 'any response';});

1.3、请求参数

必选参数:当以带参数的形式发送请求时,可以在路由中进行接收,用大括号将参数括起,用/分割,例如:

Route::get('req4/{name}/{age}', function ($name, $age) {  return "I'm {$name},{$age} years old.";});

以get请求时将参数传递,结果如下:

Laravel路由与MVC怎么应用

可选参数:以上的参数是必须的,如果缺少某一个参数就会报错,如果希望某个参数是可选的,可以为它加一个?,并设置默认值,默认参数必须为最后一个参数,否则放中间没法识别:

Route::get('req4/{name}/{age?}', function ($name, $age=0) {  return "I'm {$name},{$age} years old.";});

正则校验:可以通过where对请求中的参数进行校验

Route::get('req4/{name}/{age?}', function ($name, $age=0) {  return "I'm {$name},{$age} years old.";})->where(['name'=>'[A-Za-z]+','age'=>'[0-9]+']);

1.4、路由群组

有时我们的路由可能有多个层级,例如定义一级路由home,其下有二级路由article,comment等,这就需要将article与comment放到home这个群组中。通过数组键prefix为路由article添加前缀home:

Route::group(['prefix' => 'home'], function () {  Route::get('article', function () {    return 'home/article';  });});

这样通过home/article就可以访问到该路由了。

1.5、路由命名

有时需要给路由起个名字,需要在定义路由时使用as数组键来指定路由名称。例如将路由home/comment命名为comment,在生成url与重定向时就可以使用路由的名字comment:

Route::get('home/comment',['as'=>'comment',function(){  return route('comment');    //通过route函数生成comment对应的url}]);

输出为http://localhost/Laravel/laravel52/public/home/comment

2、控制器

route路由只对请求进行分配跳转,具体的业务逻辑则需要由控制器来处理,控制器一般封装成为一个php类。控制器的文件一般放在app/Http/Controlers文件夹下。例如新建一个LoginController类继承自Controller,定义checkLog方法回应登录请求,

namespace App\Http\Controllers;class LoginController extends Controller{  public function checkLog($name){    return $name.'登录成功';  }}

在route.php中将login请求分配到checkLog方法:

Route::get('login/{name}','LoginController@checkLog');

同样的,可以为控制器路由起个名字,比如将其命名为login:

Route::get('login/{name}',['uses'=>'LoginController@checkLog','as'=>'login']);

3、视图

controller负责处理应用的逻辑,应用的显示则由视图View负责,这体现了MVC中不同的逻辑之间的分离。视图一般位于/resource/views目录下,一般一个controller文件对应一个视图文件夹,因此我创建的视图为:views/Login/login.blade.php。blade文件是laravel的一个模板引擎,它编译为PHP储存起来。它包含html语言,可以在其中直接使用PHP,例如login.blade.php:

<!DOCTYPE Html><html>  <head>    <title>登录界面</title>  </head>  <body>    {{$name}}登录成功  </body></html>

在controller的checkLog方法中调用视图并传入参数:

public function checkLog($name){  return View('Login/login',[    "name"=>$name  ]);}

4、模板

在mvc中通过Models与数据库中的表进行交互,每个数据库对应一个Model模板。laravel并没有定义models目录,一般可以在app目录下新建一个models文件夹存放模板文件。例如定义一个Student模板并指定表名与主键:

namespace App\Models;use Illuminate\Database\Eloquent\Model;class Student extends Model{  protected $table='student';  protected $primaryKey='id';}

在controller中通过Student模板查询所有:

namespace App\Http\Controllers;use App\Models\Student;class Login{  public static function showDB(){    $table=Student::all();    dd($table);  }}

感谢各位的阅读,以上就是“Laravel路由与MVC怎么应用”的内容了,经过本文的学习后,相信大家对Laravel路由与MVC怎么应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Laravel路由与MVC怎么应用

本文链接: https://lsjlt.com/news/346755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Laravel路由与MVC怎么应用
    这篇文章主要讲解了“Laravel路由与MVC怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel路由与MVC怎么应用”吧!1、路由路由的作用就是将用户的不同url请求转发给...
    99+
    2023-07-04
  • ASP.NET Core MVC路由怎么用
    本篇内容介绍了“ASP.NET Core MVC路由怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! AS...
    99+
    2023-06-30
  • ASP.NET MVC中的路由原理与用法
    目录一、概述二、路由原理1、注册路由2、路由匹配2.1、匹配方式一2.2、匹配方式二2.3、匹配方式三3、URL参数默认值3.1、参数默认值一3.2、参数默认值二3.4、参数默认值三...
    99+
    2024-04-02
  • Android OkHttp代理与路由怎么应用
    本文小编为大家详细介绍“Android OkHttp代理与路由怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android OkHttp代理与路由怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-05
  • laravel路由文件怎么看
    今天小编给大家分享一下laravel路由文件怎么看的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。laravel路由文件在“r...
    99+
    2023-06-30
  • laravel路由的作用是什么
    今天小编给大家分享一下laravel路由的作用是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在laravel中,路由的...
    99+
    2023-06-30
  • ASP.NET Core MVC路由(Routing)的用法
    目录1.设置路由中间件2.常规路由3.多路由1.回退2.行动歧义3.路由名称4.路由特性5.组合路由6.特性路由的顺序7.路由模板中的标记替换( [controller] , [ac...
    99+
    2024-04-02
  • 怎么在php中利用Laravel定义路由
    本篇文章为大家展示了怎么在php中利用Laravel定义路由,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主...
    99+
    2023-06-14
  • Laravel中怎么获取请求路由
    这篇“Laravel中怎么获取请求路由”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Laravel中怎么获取请求路由”文章吧...
    99+
    2023-07-05
  • ASP.NET Core中MVC模式怎么实现路由
    这篇“ASP.NET Core中MVC模式怎么实现路由”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ASP.NET...
    99+
    2023-06-29
  • laravel的路由命名有什么作用
    这篇“laravel的路由命名有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“laravel的路由命名有什么作用”文...
    99+
    2023-06-29
  • laravel自动路由如何使用
    本篇内容主要讲解“laravel自动路由如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“laravel自动路由如何使用”吧!第一个版本一.功能优点1。自动匹配控制器例如:网址:localh...
    99+
    2023-07-04
  • 怎么给ASP.NET MVC及WebApi添加路由优先级
    本篇内容介绍了“怎么给ASP.NET MVC及WebApi添加路由优先级”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、为什么需要路由优先...
    99+
    2023-06-17
  • tp6多应用路由设置与访问
    多应用安装 composer require topthink/think-multi-app 安装完我们在app目录下创建几个应用目录,分别为admin,api,mobile 创建多应用目录之后我...
    99+
    2023-09-10
    php ThinkPHP tp6
  • PHP的路由与伪静态如何应用
    这篇文章主要介绍“PHP的路由与伪静态如何应用”,在日常操作中,相信很多人在PHP的路由与伪静态如何应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP的路由与伪静态如何应用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • vue路由怎么用
    这篇文章给大家分享的是有关vue路由怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构...
    99+
    2024-04-02
  • vue3路由hash与History怎么设置
    本篇内容介绍了“vue3路由hash与History怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue3路由hash与Histor...
    99+
    2023-07-06
  • Node.js 路由与缓存:改善应用程序响应时间
    路由优化 使用快速路由器: Express 或 Fastify 等快速路由器可以处理大量并发的 HTTP 请求,从而减少响应时间。 减少层叠的路由:避免在路由中使用过多的嵌套,因为这会增加查找特定路由所需的时间。 使用路由组:将相关的路...
    99+
    2024-04-02
  • AngularJS中路由怎么用
    这篇文章主要介绍了AngularJS中路由怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:目前的理解中,这个NG的路由模块可以...
    99+
    2024-04-02
  • Vue路由怎么使用
    这篇文章主要介绍“Vue路由怎么使用”,在日常操作中,相信很多人在Vue路由怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue路由怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在Vue中...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作