手把手教你跑Larave框架实战笔记系列之二

系列之一为童鞋们搭好了舞台,今天正式登台跑框架了……

从“路由”开始,玩一把“Hellow world!”

Route::get(‘/’, function () {

//return view(‘welcome’);

return ‘Hellow world!’;

});

laravel 的每一个路由是需要手动定义的,默认欢迎页面(参数)

是 resources/views 目录下的文件名welcome.blade.php去掉 blade.php后缀,对应的路由

url 是 “http://www.rk.com/

依此类推,把根目录“/”换成子目录“tests”模拟欢迎页面新定义一个路由:

Route::get(‘tests’, function () {

return view(‘logo’);

});

调用页面(参数)

是 resources/views 目录下的文件名logo.blade.php去掉 blade.php后缀

多多找一下路由(R)与(V)示例文件模仿书写格式,依此类推,只要格式相互对应起来就可以发生关联,调用视图

url 就应该是 “http://www.rk.com/tests

就是这样子,把MVC中的路由和视图(V)关联起来了,×××长征开始了第一步,以后编程的日子里还会随时这样玩……

以上例子说明了路由可以分发请求,这就好比家里的路由器可以分发多路请求,满足手机、电视……可以有线连接,也可以wifi
路由中还可以引入 html 页面,可以在 route/web.php 中搞定一切。
但是如果把业务逻辑都写入到路由中,那路由就变成了原生开发“搭积木”,web.php页面代码庞大难以维护。
接下来控制器就登台表演了……
把业务逻辑写在控制器中,路由只负责转发请求到指定的控制器即可。

先前,我们已经在PhpStorm中安装了昵称为artisan 的 laravel 命令行接口,也就是根目录下的 artisan 文件,用法是输入命令:

Php artisan
意思就是使用 php 的命令行模式运行 artisan.php 文件,php命令行下是可以不需要文件后缀就能识别的,所以根目录下的 artisan 文件并没有带上 .php

Laravel构架之所以被赞誉为“为Web艺术家而生”,其优雅、艺术、现代主要就是表现在“用少量的代码来干很多漂亮活……”

php artisan.php 命令行主要有两个作用:
第一是生成文件,
第二是执行任务。
现在用它生成控制器(C)文件:

〖法一〗如果不带任何参数用它来生成普通控制器模板的话,输入命令:

Php artisan make:controller ArticleController
见证奇迹的时候又要到来了……
结果是生成了一个 app/Http/Controllers/ArticleController.php 文件;

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ArticleController extends Controller

{

//

}

不但自动创建了文件,而且还定义好了命名空间,继承好了父级控制器,在这个模板上直接写管理MySQL的增、删、改、查的方法就可以了;

〖法二〗不想一来就自定义语句或方法,想用artisan先生成通用方法代码,再根据需要少量修改代码,也就是说用有点高逼格的方式来干写代码苦力活,那么只需加个–resource选项参数:

Php artisan make:controller ArticleController--resource
不但增、删、改、查的方法都定义好了,连注释都给写好了。这其实是按 RESTful 规范生成的格式,除了 GET POST 它还包含了一大堆请求方式:
PUT 、 PATCH 、 DELETE 、HEAD 、OPTIONS
也就是说 Route:: 后面还可以跟上面这些方法。

视图如何用?除了在路由中直接调用外,就是可以在程序中用函数来调用:例如调用视图admin/index.blade.php就在程序中用这个方法

public function index() {

return view(‘admin/index’);

}

就行了,视图使用容易理解。那么,控制器如何用?当然是放在路由中直接替代闭包函数来使用。因为路由(R)除了请求调用视图(V)外,更多的是请求来干太多的事,比方说处理数据模型(M)等等,如果把干这些活的代码都放这个闭包函数中是臃肿且难以维护的,所以才引入控制器这个中间件。很显然,控制器就是来替代路由中这第二个参数的闭包函数的。路由(R)-控制器(C)-视图(V)就这样轻松关联起来了,三者玩起来思路也很清晰,不难理解。
路由(R)-控制器(C)用起来也非常简单,直接写控制器名在路由(R)闭包函数的这个位置即可,然后用 @ 符号分割控制器和控制器的方法(可以是形参或闭包函数),例如:

Route::get(‘article/index’, ‘[email protected]’)

Route::post(‘article/store’, ‘[email protected]’)

当控制器(C)用处理数据模型时,就变成了:路由(R)-控制器(C)-数据模型(M)-视图(V)也关联起来了,四者不是同时一起用,就可能有多种排列组合,处理多种事务,响应多种请求

原文地址:http://blog.51cto.com/hezhubi/2091605

时间: 2024-08-04 07:17:27

手把手教你跑Larave框架实战笔记系列之二的相关文章

最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二

写第一篇博客<手把手教做单点登录(SSO)系列之一:概述与示例>,就获得了园子里朋友们热情的评论和推荐,感谢各位. 我那篇文章同时发了CSDN和博客园.对比一下,更感受到博客园童鞋们的技术交流热情:这篇文章在CSDN也有几百阅读量了,但评论区还静悄悄的.博客园才几天就有四十多个回复.二十多位童鞋推荐了. 深受鼓舞,周末没出门,熬了两个夜打磨图示.整理代码,给大家奉上本文. 完整的代码范例已完成,因和本文时序图严格对照,注释整理还需要一些工作,完成后将在下一篇放出.大家下载配置后,本地跑起来会是

Android开发之手把手教你写ButterKnife框架(二)

欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52664112 本文出自:[余志强的博客] 上一篇博客Android开发之手把手教你写ButterKnife框架(一)我们讲了ButterKnife是什么.ButterKnife的作用和功能介绍以及ButterKnife的实现原理. 本篇博客主要讲在android studio中如何使用apt. 一.新建个项目, 然后创建一个module名叫processor 新建m

Android开发之手把手教你写ButterKnife框架(三)

欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了,如何在android studio使用apt < Android开发之手把手教你写ButterKnife框架(二)> 然后在Processor里生成自己的代码,把要输出的类,通过StringBuilder拼接字符串,然后输出. try { // write the file JavaFileObj

CSS3实战开发:手把手教大家折角效果实战开发

各位网友,大家好,我是陌上花会开,今天这篇文章,我将手把手教大家如何开发一套纯CSS的折角效果.一如往常,我不提供代码下载,但是我可以保证,只要将教程中的代码复制到本地,绝对百分百获得与我演示的效果一样,希望各位明白我的用意. 好了,直接开始今天的教程吧.首先,我先给大家演示一下今天实战案例的效果: 有人会说这是什么?这就是我们今天的实战开发,我将带领大家开发上图中的右上角折叠效果. 在我讲解完之前,有些人可能觉得很难,不可思议.我想跟你们说:真的so easy.下面就请跟着我的分解步骤一步步学

手把手教你写DI_1_DI框架有什么?

DI框架有什么? 在上一节:手把手教你写DI_0_DI是什么? 我们已经理解DI是什么 接下来我们就徒手撸一撸,玩个支持构造函数注入的DI出来 首先我们回顾一下 构造函数注入 的代码形式, 大概长这模样: class MovieLister { private IMovieFinder finder; public MovieLister(IMovieFinder finder) { this.finder = finder; } } 那么我们就可以动手撸了 Emmmm... 等等,这个find

手把手教你打造一个Material Design风格的App(二)

--接上文. 3.1添加ToolBar(ActionBar) 添加ToolBar非常简单,你需要做的仅仅是为toolbar创建一个单独的layout布局,如果你想在哪里展示toolbar,只要在对应布局里将toolbar的布局文件include进来即可. (8)在res-->layout文件夹下创建一个名为toolbar.xml的文件,然后在里面添加一个android.support.v7.widget.Toolbar元素,这样就创建了一个具有特定高度和主题的toolbar. toolbar.x

框架Hibernate笔记系列 基础 Session One

标题:框架Hibernate笔记 资料地址: 1. www.icoolxue.com 孔浩 1.背景简介 Hibenate是JBoss公司的产品.它是数据持久化的框架.Usually,我们使用JDBC来access DB,我们要先连接数据库,然后与数据库交互,然后关闭连接.使用了Hibernate之后,它实现了对JDBC的封装.跟数据库建立连接和关闭连接都由Hibernate来管理,我们只要写交互代码就可以了. 目前,使用mybatis的比较多.原因在于使用Hibernate效率不高.(In t

WebService学习笔记系列(二)

soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon,该工具可以直接下载得到.使用tcpmon可以嗅探网络中传输的数据,便于我们更好的理解soap协议. 下载好tcpmon之后,打开该软件,如图简单设置 tcpmon相当于一个代理服务器,打开tcpmon后,如果把监听端口设置为9999,目标端口设置为8888,当用户访问9999端口时,消息会被tcp

手把手教做单点登录(SSO)系列之一:概述与示例

本系列将由浅入深的结合示例.源码以及演示视频,手把手的带大家深入最新的单点登录SSO方案选型与架构开发实战.文末附5个满足不同单点登录场景的gif动画演示(如果看不清请在图片上右键用新窗口打开),本系列后继文章会深入它们的实现方式以及适用场景,大家也可以先观看揣摩其实现. 单点登录即Single Sign On(SSO).它是大型政府OA.企事业单位OA的标配解决方案.它概言之就是在多个Web.桌面或移动应用系统中,用户只需要登录一次,就可以访问所有的应用系统. 从业十多年,为政府.电信.跨国公