手把手教你跑Larave框架实战笔记系列之二
admin
2023-06-14 09:22:48
0

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

从“路由”开始,玩一把“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’, ‘ArticleController@index’)

Route::post(‘article/store’, ‘ArticleController@store’)

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

相关内容

热门资讯

女婿深夜持刀重伤岳父母背后:1... 澎湃新闻记者 史凭5月7日凌晨,云南镇雄县44岁男子陈某潜入岳父家中持刀行凶,将两位熟睡中的老人刺成...
尴尬!美国急于安抚,“但QUA... 【文/观察者网 熊超然】“当印度、日本和澳大利亚三国最高外交官于5月26日在新德里与美国国务卿鲁比奥...
丈夫家暴后以为妻子死了,将她抛... 2024年12月24日,在离婚诉讼被驳回的第13天,陕西咸阳女子苗苗遭到丈夫张某毒打。张某误以为失去...
民众党内乱狂烧,柯文哲被爆遭架... 柯文哲表示,很多人认为他对很多资讯不了解、被控制不能讲话,他直言“我没有失智啦”。民众党近来因提名争...
山西沁源矿难背后:沦为空文的1... 5月22日晚7时29分,山西省沁源县留神峪煤矿发生瓦斯爆炸事故。截至目前,事故已致82人遇难,2人失...
微软Copilot Cowor... IT之家 5 月 26 日消息,PromptArmor 昨日(5 月 25 日)发布博文,报道称微软...
瑞达精工取得数显天气气象钟专利... 国家知识产权局信息显示,福建瑞达精工股份有限公司取得一项名为“一种数显天气气象钟”的专利,授权公告号...
苹果之后,三星也加速去高通化! 5月26日消息,据产业链最新消息,苹果计划将完全自主研发的5G基带芯片应用到iPhone 18全系机...
300万以下的京沪“老破小”卖... 作者 | 孙梦凡今年楼市的“小阳春”行情,持续期比往年更长。以往,楼市“小阳春”大多集中在3月~4月...
原创 2... 来源:网络消息 当自然指数最新一期数据揭晓,中国科学技术大学以1021.18分的总论文分数,稳居中...