Laravel 5.8 快速入门

一、路由如何调用控制器

1-1 、Route的概念

简单的来说: 对任何一个 Web 应用来说,都需要通过 HTTP 协议处理用户请求并返回响应。就是所为的浏览器地址,通过浏览器的地址请求到对应的文件下,让浏览器来解析该文件下的代码,并且将返回响应渲染至Route指定的地址上。

1-2、路由入门

在 Laravel 应用中,定义路由有两个入口,一个是 routes/web.php,用于处理终端用户通过 Web 浏览器直接访问的请求,另一个是 routes/api.php,用于处理其他接入方的 API 请求(通常是跨语言、跨应用的请求)。具体内容可以参考Laravel 5.8 中文文档手册

定义路由最简单的方式就是在 routes/web.php 中定义一个路径以及一个映射到该路径的闭包函数:

<?php
Route::get('/test',function () {return '测试第一次';
});

执行效果图:

这样,当我们访问应用首页 http://localhost/laravel/public/index.php/test 时,就可以看到页面显示 return中这一行字符串。这就是一个最简单的 Laravel 路由定义,但是涵盖了一个 Web 框架的基本功能:处理请求,返回响应。

注意:本次操作没有通过 echo 和print 打印输出该值,而是通过return来返回的,laravel 会通过内置的响应栈和中间件对返回内容进行处理。

我们可以在web.php中可以配置多个路由,配置路由与请求路径的多少没有关系:

Route::get('/test',function () {return '测试第一次';
});
Route::get('/about',function () {return '关于我';
});
Route::get('/call',function () {return '联系我';
});

我们可以在写静态页面时候,通过路由来配置站点,这样可以方便我们管理请求路径。

1-3、 路由必选参数与可选参数

传递参数有两种:一是必选参数;二是可选参数

1-3-1 、必选参数

  1. 必选参数
    get: 请求资源
    post: 更新全部资源
    put: 更新部分资源

如果你定义的路由需要传递参数,只需要在路由路径中进行标识并将其传递到闭包函数即可:

Route::get('shop/{name}',function ($name) {return $name . '的商店';
});
Route::post('shop/{name}',function ($name) {return $name . '的商店';
});
Route::put('shop/{name}',function ($name) {return $name . '的商店';
});

这样,当你访问 http://localhost/laravel/public/index.php/shop/simon 的时候,就可以在浏览器看到 simon的商店。(上述的post请求需要使用postman来做调试)

1-3-2、 可选参数

Laravel 还允许你为每个路由命名,这样一来,不必显式引用路径 URL 就可以对路由进行引用,这样做的好处是你可以为一些复杂的路由路径定义一个简单的路由名称从而简化对路由的引用,另一个更大的好处是即使你调整了路由路径(在复杂应用中可能很常见),只要路由名称不变,那么就无需修改前端视图代码,提高了系统的可维护性。

路由命名很简单,只需在原来路由定义的基础上以方法链的形式新增一个 name 方法调用即可

Route::get('user/{name?}', function ($name  = null) {return $name;
});
Route::get('user/{name?}', function ($name  = 'Simon') {return $name;
});
  • 注意:name 后面的问号表示可有可没有(可选参数),加了“?”的如果name = null,页面是空白的,如果传入值,那麽会在页面中打印该值。

1-4、 快速定义控制器

定义控制器是在项目中的app/http/Controller创建,有两种方法 具体内容可以可参考laravel学院

  • 第一种:手动创建控制器 (不推荐)
  • 第二种:使用laravel框架的artisan命令来创建 (推荐)

查看artisan命令:
php artisan
php artisan list

创建控制器:(make:xxx) make:后面不仅仅说创建controller,可以是model等

php artisan make:controller PostController

git 效果图:

1-5、使用blade模板

1-5-1、简介:

Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。Blade 视图文件使用 .blade.php 文件扩展并存放在 resources/views 目录下。

1-5-2、定义布局:

使用 Blade 的两个最大优点是模板继承和片段组合,开始之前让我们先看一个例子。首先,我们测试“主”页面布局,由于大多数 Web 应用在不同页面中使用同一个布局,可以很方便的将这个布局定义为一个单独的 Blade 页面:
(创建对应的类和需要的模块,可按效果图这样执行):

  • 在实现视图模板blade有两种,可以参考下面的代码,这里不做过多解释了。

代码:
PostController:

<?php
// 命名空间(不能少)
namespace App\Http\Controllers;use Illuminate\Http\Request;
// 继承
class PostController extends Controller
{public function index() {// 第一种方法
//        $name = "Simon Start Test";
//        return view("post/index")->with('name',$name);return view('post/index',['title' => 'php的larval5.7框架']);}
}

web.php (Route)

// 定义路由
Route::get('/post', '\App\Http\Controllers\PostController@index');
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body>
{{--    <h1>{{ $name }}</h1>--}}<h1>{{ $title }}</h1>
</body>
</html>

上述均为本人的理解,不具备权威性
本篇博文参考来自Laravel 5.8 中文文档手册 laravel学院

小白快速入门Laravel 5.8框架相关推荐

  1. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  2. 零基础编程入门python视频-Python编程零基础小白快速入门完整全系列精品课

    1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...

  3. python大神和小白代码_看大神6行代码如何带领小白快速入门Python爬虫?

    原标题:看大神6行代码如何带领小白快速入门Python爬虫? 可能是小编本身就有一定的基础!当然我没有瞧不起小白的看法,知识觉得要入门一门编程语言确实比较简单,而且小编本身也是从小白过来的,但是当初接 ...

  4. 公告:csdn学院《小白快速入门系列》线上课程,全部一折,最高6元!

    线上课程做下活动,csdn学院的,小白快速入门系列,全部一折,最高6元,有需要的可以看下,没需要就算了,欢迎关注与交流! 1.小白快速入门Spring Cloud Alibaba 链接:https:/ ...

  5. java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】

    第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...

  6. 零基础小白快速入门记者,快来看这篇文章

    如何做好一名记者? 如何选题? 如何写稿? 如何采访? -- 这些是媒体实习生们最常见的问题,本篇就如何快速入门记者行业做个系统总结,希望能帮助到实习生们. 选题:选题,是衡量着文章内容方向,价值观. ...

  7. 教你如何能够从小白快速入门MAYA,刚开始学习MAYA必看

    现在CG行业慢慢发展,很多学校开设三维影视动画相关专业,也让喜欢影视的学生也能够好好去学习学习影视动画,但是,学校一开始教就是直接让你建模渲染动画等.但是很多学生就会遇到很多的问题,本身刚开始学习MA ...

  8. 快速入门开源深度学习框架

    AI发展新趋势 Garter发布的2021年重要战略科技发展趋势中提到,目前只有53%的项目能够从人工智能原型落地转化为生产.原因是缺乏创建和管理生产级人工智能的工具,这使得人工智能项目的落地和扩展难 ...

  9. php基础 快速入门文档,快速入门 - Laravel 5.8 中文文档手册 - php中文网手册

    Eloquent:入门 简介 Laravel 的 Eloquent ORM 提供了一个漂亮.简洁的 ActiveRecord 实现来和数据库交互.每个数据库表都有一个对应的「模型」用来与该表交互.你可 ...

  10. Dojo QuickStart 快速入门教程 (2) 基本框架

    下载库 首先,下载 Dojo 库:http://www.dojotoolkit.org/downloads 放了方便测试,我将文件将解压到 Web Server 的 "js/dojotool ...

最新文章

  1. 【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
  2. LeetCode 38外观数列39组合总和
  3. CVPR2020最全整理:分方向论文下载,Github源码、论文解读等[计算机视觉][目标检测]
  4. Boost::context模块callcc的回溯测试程序
  5. 吴裕雄 python 神经网络——TensorFlow 图、张量及会话
  6. 2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试
  7. 趣谈设计模式 | 单例模式(Singleton) :独一无二的对象
  8. ppt怎么加注解文字_向PPT2013演示文稿中添加批注将反馈和想法添加到演示文稿...
  9. 自动驾驶:蛇形曲线跟踪(Stanley Model)
  10. 编译wxWidgets
  11. nodejs图片读取
  12. windows10计算机策略,win10系统轻松玩转组策略的图文步骤
  13. 办公专用计算机配置,办公电脑用什么配置的好 2017办公电脑配置推荐
  14. 软件人员kpi制定模板_绩效考核软件有哪些,员工绩效考核制度模板
  15. 手机淘宝app、xsign签名算法
  16. 施一公:优秀的科学家如何成长?
  17. 计算机中8位二进制机器数,一个字节由8位二进制数组成,其最大容纳的十进制整数为()...
  18. 群晖web文件服务器docker,群晖docker搭建数据库服务器
  19. 【数据结构】悬空指针和野指针
  20. 06.论Redis持久化的几种方式

热门文章

  1. 2021年企业选型OA系统十大品牌
  2. 闲聊企业数字化转型(1)-供应链数字化
  3. couchbase java 手册_Couchbase文档列表模型
  4. 从跑步小白到马拉松、再到百公里越野跑的晋级之路
  5. 电驴让分享继续 服务器不稳定,电驴快快跑—分流教程
  6. Mac入门(四)写给Mac新人
  7. 求逆元模版 (Java版)
  8. 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境
  9. FlashFXP 4.2.4 破解版
  10. php mysql上机题_基于PHP+MySQL的题库管理系统