Laravel框架中的路由和控制器

路由

  • 简介:

    • 将用户的请求转发给相应的程序进行处理
    • 作用:建立url和程序之间的映射
    • 请求类型:get、post、put、patch、delete
    • 目录:app/http/routes.php
  • 基本路由:接收单种请求类型

    //get请求
    Route::get('hello1',function(){return 'hello world';
    })
    //post请求
    Route::post('hello2',function(){return 'hello world';
    })
  • 多请求路由:接收多种请求类型

    //get、post请求//match用来匹配指定请求的类型Route::match(['get','post'],'mulity',function(){return 'mulity request';})//any匹配所有类型的请求Route::any('mulity2',function(){return 'mulity2 request';})
  • 路由参数

        Route::get('user/{id}', function ($id) {return 'User '.$id;});Route::get(‘user/{name?}’,function($name = null){Return ‘name’.$name});Route::get('user/{name}', function ($name) {//})->where('name', '[A-Za-z]+');Route::get('user/{id}', function ($id) {//})->where('id', '[0-9]+');Route::get('user/{id}/{name}', function ($id, $name) {//})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
  • 路由别名

    Route::get('user/profile', ['as' => 'profile', function () {//}]);
  • 路由群组

    //路由前缀
    Route::group(['prefix' => 'admin'], function () {Route::get('users', function () {// Matches The "/admin/users" URL    });});
  • 路由输出视图

    Route::get('/', function () {return view('welcome');});

控制器

  • 简介

    • 将请求逻辑交由控制类处理,而不是都交给一个routes.php文件
    • 控制器可以将相应的php请求逻辑集合到一个类中
    • 存放位置app/Http/Controllers
  • 基础控制器:在laravel中,默认所有的控制器都继承了控制器基类

       <?php//使用命名空间namespace App\Http\Controllers;use App\User;use App\Http\Controllers\Controller;class UserController extends Controller{/*** 显示指定用户的个人信息* * @param  int  $id* @return Response*/public function showProfile($id){return view('user.profile', ['user' => User::findOrFail($id)]);}}
  • route 访问控制器,利用 PHP 的命名空间机制以嵌套的方式组织控制器在 App\Http\Controllers 目录下的结构的话,引用类时只需指定相对于 App\Http\Controllers 根命名空间的类名即可

          //@后面内容为所要访问的方法Route::get('foo', 'Photos\AdminController@method');//也可以指定控制器路由的名称Route::get('foo', ['uses' => 'FooController@method', 'as' => 'name']);//通过助手方法来生成ur$url = route('name');//传参$idRoute::get('user/{id}',['uses'=> 'MemberController@info'])->where('id', '[0-9]+');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小朋友学C++(1)

Hello World! 在学C之前&#xff0c;最好先学习一下C语言 让我们先运行一段简单的代码&#xff0c;编译器可以使用 在线C编译器 或 Xcode(苹果系统) 或Dev C&#xff08;Windows系统&#xff09;。 #include <iostream> using namespace std; int main() { cout <<…

mysql_表_操作

1、创建表 # 基本语法&#xff1a; create table 表名(列名 类型 是否可以为空 默认值 自增 主键&#xff0c;列名 类型 是否可以为空 )ENGINEInnoDB DEFAULT CHARSETutf8not null # 不可以为空 default 1 # 默认值为1 auto_increment # 自增 primary …

css --- 手机端,留言模块的样式

效果如下: 代码: 说明:用到了mint-ui,需要先安装mt-button的导入: import { Button } from ‘mint-ui’mt-button的使用: Vue.component(Button.name, Button)更多 http://mint-ui.github.io/ // comment.vue <template><div class"comment-container">…

Laravel 中的 视图和模型

视图 简介&#xff1a;视图包含了应用程序渲染的HTML数据&#xff0c;并将应用程序的显示逻辑与控制逻辑有效的分离开。在Laravel中&#xff0c;视图被保存在resources/views目录中。 php //数组中的内容可以表示在视图中调用数组&#xff0c;可以用echo $name得到name的值 …

BCZM : 1.13

Nim转载于:https://www.cnblogs.com/noryes/p/8640630.html

yii多表查询--学习随笔

今天自己做一个小demo&#xff0c;为了不要冗余字段&#xff0c;需要进行多表联合查询、搜索 yii中&#xff0c;用model来映射数据库&#xff08;其实好多框架都是这么搞的&#xff09;&#xff0c;一个模型类通常有一个search模型类跟着一起 废话不多说了&#xff0c;首先&…

node --- 创建一个Socket服务器

流程: 会开发一个监听文件改变的应用然后客户端使用命令行工具(telnet)连接服务端服务端在监听到文件变化后,会发送数据给客户端 监听文件变化 node 的fs模块:watch方法用于监听文件的变化,可以在内存分配一个区域,来专门用于监听文件变化,并执行该区域内指定的回调函数 //…

Laravel中数据库的操作

查找数据库的三种方式 DB facade(原始查找)查询构造Eloquent ORM新建数据表 //示例表 create table if not exits student( ‘id’ int auto_increment primaary key, ‘name’ varchar(255) not null default “”comment’姓名’, ‘age’ tinyint usigned not null defa…

node --- 创建一个Socket客户端连接到服务器

描述: net.createrServer().listen(60300) 监听客户端访问net.connect({ port: 60300 }) 访问服务器 服务器: 一个很简单的监听文件改变的服务器每当监听的文件改变了,将信息通过json的格式传递给连接到的客户端 connection.write // 01、net-watcher.js use strict const …

Laravel中的Blade模版

Blade模版简介 Blade模版的好处&#xff1a; 模版继承&#xff08;template inheritance&#xff09;视图片段&#xff08;sections&#xff09;部分指令&#xff1a; extend(‘xxx’)为子页面指定所继承的页面布局模版section(‘xxx’)为子页面提供所继承的页面中指定的部分…

三元表达式,列表解析和生成器表达式

三元表达式 在以前&#xff0c;在诸如比较两个数大小的时候&#xff0c;通常的写法都是下面的样子 if x > y:print("the max is x") else:print("the max is y") 三元表达式的语法为&#xff1a; True if expression else False 现在可以个体三元表达式…

Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE table_nameADD COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间 ; --修改CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE table_nameMODIFY COLUMN CreateTime datetim…

css --- 圣杯布局

圣杯布局 左右固定宽度,中间自适应div:nth-child(1) section {display: flex;width: 60%;height: 150px;background-color: pink;margin: 0 auto; }section div:nth-child(1) {width: 100px;height: 150px;background-color: red; }section div:nth-child(2) {flex: 1;backgr…

FZU OJ:2230 翻翻棋

Problem 2230 翻翻棋Accept: 872 Submit: 2132Time Limit: 1000 mSec Memory Limit : 32768 KBProblem Description象棋翻翻棋&#xff08;暗棋&#xff09;中双方在4*8的格子中交战&#xff0c;有时候最后会只剩下帅和将。根据暗棋的规则&#xff0c;棋子只能上下左右移…

关于字符串比较时候出现的空指针问题的坑

比如说&#xff1a;String Tname driver.getTrueName(&#xff09;; 这个变量是从driver对象中取出的&#xff0c;但是你不知道这个值是空值null&#xff1b; 这个时候如果你这么写&#xff1a;Tname.equals("张三") 这个时候就会报空指针异常的 修改&#xff1a…

PHP 实现快速排序

首先了解快速排序的原理&#xff1a; 1、先取一个基值&#xff0c;用于每次的标准定位。 2、遍历数组&#xff0c;将大于基值的放到右边数组&#xff0c;小于的放到左边数组 3、将每次的左右数组和基值一起合并 代码实现&#xff1a; //快速排序 function quick_sort($arr…

css --- flex:n的解析

起步 效果如下: 在父元素中,将3个盒子平均分成了3等份代码如下: p span {flex: 1;background-color: lightcoral; }p span:nth-child(even) {border-right: 1px solid black;border-left: 1px solid black; }假设有3个子元素flex:1 的意思是,将剩余的宽度平均分成3份,然后该元…

1070: [SCOI2007]修车

/*一开始以为是个贪心 发现自己太naive了将每个技术工人拆成n个点&#xff0c;一共拆n*m个&#xff0c;第i个表示倒数第i次修车。 让每辆车向拆出来的点连边&#xff0c;费用为tmp[i][j]*k&#xff0c;i是技工&#xff0c;j是车&#xff0c;k是拆出来的第几个点&#xff0c; 这…

PHP 实现冒泡排序

PHP 实现冒泡排序 直接上代码 //冒泡排序 function bubble_sort($array){$count count($array);if ($count<0) {return false;}for ($i0; $i <$count ; $i) { for ($j0; $j <$count-$i-1 ; $j) { if ($array[$j]>$array[$j1]) {$tmp $array[$j1];$array[$j1]$a…

node --- 后端使用bcrypt对密码进行加密处理

密码的处理 加密处理在线调试: http://www.atool9.com/hash.phpbcrypt: 加密工具安装 && 使用 npm install --save bcryptconst bcrypt require(bcrypt); const SALT_WORK_FACTOR 10;const UserSchema new Schema({UserId: {type: ObjectId},password: String })U…