[Laravel] 02 - Route and MVC
前言
一、良心资料
- 英文
Laravel 框架:https://laravel.com/
- 中文
轻松学会Laravel-基础篇 <---- from.
基本路由
一、基本思路
- 默认框架结构
URL --> [映射] --> 程序
app -- Https 业务逻辑 -- Http/routes.php【返回 (1) view --> resources/views/welcome.blade.php】 bootstrap -- 框架启动,自动加载 -- autoload.php【加载 (1) /../vendor/autoload.php】 -- app.php【实例化 (2) app and then return $app】 config -- 配置文件,such as cache. database -- 数据库相关资源 public -- 静态资源, such as pic. -- index.php【加载 (1) /../bootstrap/autoload.php then (2) app.php】 resources -- 视图以及原始的资源文件,views就是mvc中的v -- views/welcome.blade.php【显示的首页 (2) html内容】 storage -- 编译后的模板文件等。 tests -- 单元测试。 vendor -- 依赖模块
- 路由示范
基础路由,多请求路由,示范如下:
多请求路由:
Route::match 既支持get,也支持post;
Route::any 响应所有的请求;
详见API中文文档:https://docs.golaravel.com/docs/5.0/routing/
Ref: [Node.js] 07 - Html and Http
二、URL 处理
- 路由 '参数'
[1] Extract id in url.
Route::get('user/{id}', function($id) {
return 'User-id-' . $id;
});
[2] Extract name? in url. sean是默认参数。【有默认参数就加了个问号】
Route::get('user/{name?}', function($name = 'sean') {
return 'User-name-' . $name;
});
[3] 正则表达式限制路由参数。
Route::get('user/{name?}', function($name = 'sean') {
return 'User-name-' . $name;
}) -> where('name', '[A-Za-z]+');
[4] 参数综合起来
Route::get('user/{id}/{name?}', function($id, $name = 'sean') {
return 'User-id-' . $id . '-name' . $name;
}) -> where(['id' => '[0-9]+', 'name', '[A-Za-z]+');
- 路由 ’重定向’ 与 ‘别名’
** "重定向" 的意思是?
当用户访问 /a
时,URL 将会被替换成 /b
,然后匹配路由为 /b.
if ($student->save()) {
return redirect('student/index');
} else {
return redirect()->back();
}
** “别名”又是什么呢?
/a
的别名是 /b
,意味着,当用户访问 /b
时,URL 会保持为 /b
,但是路由匹配则为 /a
,就像用户访问 /a
一样。【两个URL对应一个页面】
『别名』的功能让你可以自由地将 UI 结构映射到任意的 URL,而不是受限于配置的嵌套路由结构。
"member-center" 的别名为 “center"。
显示效果:
- 路由群组
有了层级关系。
./member/user/center就可以访问了。
- 路由中输出视图
其实就是之前的 return view('welcome');
控制器
一、控制器关联路由
- 关联方法:URL --> [映射] --> 程序
MembrConroller 里的方法 info()的表达方式:MemberController@info
Route::get('member/info', 'MemberController@info'); Or array type:
Route::get('member/info', ['uses' => 'MemberController@info']
- 路由别名
[routes.php]
- 参数绑定
[1] 打开路由,调用一个远在另一个文件夹的函数。
Route::any('member/{id}', ['uses' => 'MemberController@info']);]
[2] 函数在这里,就是controller。
视图
一、如何使用 view
URL --> [映射] --> 程序 --> 界面
在resource/views中,例如建立:member-info.php这个view文件。
那么,我们就可以通过 return view('member-info'); 来使用。
[1] 控制器 Controller 带有参数:name & age。
[2] 视图 View 显示参数内容。
模型
一、新建一个模型
在app目录下新建:Member.php
二、如何调用模型
因为是静态方法,所以可以直接在 Controller 中调用 Model方法。
[Laravel] 02 - Route and MVC的更多相关文章
- Laravel教程 五:MVC的基本流程
Laravel教程 五:MVC的基本流程 此文章为原创文章,未经同意,禁止转载. Controller 期间受到很多私事影响,终于还是要好好写写laravel的教程了. 上一篇我们说了数据库和Eloq ...
- laravel named route
laravel中一般对于路由的使用方法是在routes.php中定义一个路由,在view中如果要引用一个url则直接通过<a href="url/">来使用. 但是随着 ...
- Laravel创建Route
<?php /* |-------------------------------------------------------------------------- | Routes Fil ...
- 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...
摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...
- ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...
- Laravel 获取 Route Parameters (路由参数) 的 5 种方法
Laravel 获取路由参数的方式有很多,并且有个小坑,汇总如下. 假设我们设置了一个路由参数: 现在我们访问 http://test.dev/1/2 在 TestController ...
- laravel 之路由和MVC
一.路由 Routes\; 1. 路由简介 简单的说就是将用户的请求转发给相应的程序进行处理. 作用就是建立url和程序之间的映射 请求类型get . post.put.patch.delete 2. ...
- 02点睛Spring MVC 4.1-@RequestMapping
转发地址:https://www.iteye.com/blog/wiselyman-2213907 2.1 @RequestMapping @RequestMapping是SpringMVC的核心注解 ...
- [Laravel] 14 - REST API: Laravel from scratch
前言 一.基础 Ref: Build a REST API with Laravel API resources Goto: [Node.js] 08 - Web Server and REST AP ...
随机推荐
- 【原创】python模拟腾讯网页登录
近日,研究Tencent网页模拟登录的过程,过程有些忐忑,但最终还是实现了这一功能.先将结果写于此,供大家参考: 其加密过程在c_login_old.js文件中执行,将JS关键代码提取出来如下: fu ...
- boost 1.67编译VS2017版本
最近想系统学习并使用一下boost的asio异步网络库,所以需要编译boost库使用,下面简单介绍如何编译. 编译环境 boost1.67版本,windows 10,VS2017 下载boost 建议 ...
- Mongoose多数据库连接及实用样例
使用环境: MongoDB 3.6 插件版本: "mongodb": "^3.1.10","mongoose": "^5.4.2& ...
- axios 取消请求的方法
开发中遇到需要取消请求的功能,,点击终止查询可以取消开始查询请求,再次点击开始查询又可以进行查询. 解决方法:axios官方文档上的CancelToken,一开始用了这个api后,可以成功取消请求,但 ...
- RouterOS双线进行IP分流上网
环境: 1.第一条:电信静态IP,一级路由分配的IP:第二条:移动光纤 2.通过指定某些IP走电信,某些走移动 注意: 1.当有多条线路进行NAT伪装时,Out. Interface这个必须选择具体的 ...
- windows Server 2008 R2 IE增强安全配置正在阻止来自下列网站的内容
1.在windows Server 2008 R2上访问百度,会出现以下界面 当在Windows Sever 2008 R2中运动IE8的时候会发现默认情况下IE启用了增强的安全配置,为了方便而且是在 ...
- WHY数学表达式的3D可视化
WHY数学表达式的3D可视化 很早之前我就有这种想法,将数学表达式的图形显示出来.最近终于实现了这套较为完善的版本,将其代码公布,也为开源做点贡献.首先系统中定义一套脚本语言格式,用于描述数学表达式. ...
- oracle11g-linux 归档处理
在使用oracle时突然登录不上去了提示:ORA-00257:archiver error.Connect internal only,until freed. 查遍很多资料,都指向“归档日志空间不足 ...
- [Functional Programming] Using Lens to update nested object
For example, in React application, we have initial state; const data = { nextId: 4, todoFilter: 'SHO ...
- Android 实战之酷云(一)
前言 大家好啊!好久没有见到我了吧.为什么呢!当然是由于开学啦,这学期非常多课,身为部长实验室也也非常多活动和一堆小师弟.同一时候还有蓝桥杯和华为软件开发大赛.并且近期在做一个综合性比較高的作品,没错 ...