前言


一、良心资料

  • 英文

Laravel 框架:https://laravel.com/

 
  • 中文

轻松学会Laravel-基础篇   <---- from.

轻松学会Laravel-中级篇

轻松学会Laravel-高级篇

基本路由


一、基本思路

  • 默认框架结构

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的更多相关文章

  1. Laravel教程 五:MVC的基本流程

    Laravel教程 五:MVC的基本流程 此文章为原创文章,未经同意,禁止转载. Controller 期间受到很多私事影响,终于还是要好好写写laravel的教程了. 上一篇我们说了数据库和Eloq ...

  2. laravel named route

    laravel中一般对于路由的使用方法是在routes.php中定义一个路由,在view中如果要引用一个url则直接通过<a href="url/">来使用. 但是随着 ...

  3. Laravel创建Route

    <?php /* |-------------------------------------------------------------------------- | Routes Fil ...

  4. 本周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 ...

  5. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  6. Laravel 获取 Route Parameters (路由参数) 的 5 种方法

      Laravel 获取路由参数的方式有很多,并且有个小坑,汇总如下.   假设我们设置了一个路由参数:   现在我们访问 http://test.dev/1/2   在 TestController ...

  7. laravel 之路由和MVC

    一.路由 Routes\; 1. 路由简介 简单的说就是将用户的请求转发给相应的程序进行处理. 作用就是建立url和程序之间的映射 请求类型get . post.put.patch.delete 2. ...

  8. 02点睛Spring MVC 4.1-@RequestMapping

    转发地址:https://www.iteye.com/blog/wiselyman-2213907 2.1 @RequestMapping @RequestMapping是SpringMVC的核心注解 ...

  9. [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 ...

随机推荐

  1. 与TIME_WAIT相关的几个内核参数修改测试讨论结论

    以下来结论自tcpcopy & gryphon讨论群 经过试验测试得出,不保证肯定正确.   net.ipv4.tcp_tw_recycle net.ipv4.tcp_tw_reuse net ...

  2. electron实现类似QQ来新消息时的闪烁与任务栏窗口提醒

    公司项目有一款带即时聊天.群组功能的APP,因为要给客服人员使用,需要开发PC版本.之前使用C#开发过一个PC版本,但是C#的UI这一块支持的不太好,而且升级比较麻烦,我就牵头基于Electron去实 ...

  3. Android架构初探

    #一 背景点评美团合并之后,业务需要整合,我们部门的几条业务需要往美团平台迁移,为了降低迁移成本,开发和维护成本,以及将来可能要做的单元测试,需要对架构进行相应的调整.之前的代码都堆在Activity ...

  4. 微软BI 之SSRS 系列 - 实现 Excel 中图表结合的报表设计

    来自群里面讨论的一个问题,EXCEL 中有类似于这样的图形,上面是 Chart, Chart X轴上的值正好就是下方 Table 的列头,这个在 SSRS 中应该如何实现?   SSRS 2008.2 ...

  5. windows性能监控

    see also:http://www.cnblogs.com/upDOoGIS/archive/2010/11/19/1881970.html CPU Processor : % Processor ...

  6. 1分钟试用PowerShell 5.0新功能PowerShellGet安装Script Browser和Script Analyzer

    微软PowerShell 产品组上周发布了PowerShell 5.0 PowerShellGet功能.有了它,IT 人员可以方便地搜索,安装,更新PowerShell Module.在这篇博客中,我 ...

  7. Objc的底层并发API

    本文由webfrogs译自objc.io,原文作者Daniel Eggert.转载请注明出处! 小引 本篇英文原文所发布的站点objc.io是一个专门为iOS和OS X开发者提供的深入讨论技术的平台, ...

  8. 用 JAAS 和 JSSE 实现 Java 安全性

    JAAS 和 JSSE 概述 JAAS 提供了一种灵活的.说明性的机制,用于对用户进行认证并验证他们访问安全资源的能力.JSSE 定义了通过安全套接字层(SSL)进行安全 Web 通信的一种全 Jav ...

  9. JProfiler进行Java运行时内存分析

    原文地址:https://www.cnblogs.com/onmyway20xx/p/3963735.html 在最近的工作中,通过JProfiler解决了一个内存泄漏的问题,现将检测的步骤和一些分析 ...

  10. CorelCAD for Mac(绘图设计软件)破解版安装

    1.软件简介    CorelCAD 是 macOS 系统上的 CAD 绘图工具,为我们提供了获取本地 DWG 格式的高性能 CAD 设计解决方案.打开.处理和保存 .DWG 文件,实现轻松协作.借助 ...