Laravel8.x入门(一)

简介

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

安装与运行

通过Composer安装

可以在终端中运行 create-project 命令来安装 Laravel:

composer create-project --prefer-dist laravel/laravel blog

其中blog即是你laravel框架的目录文件夹

示例:

结果如下:


如果需要指定安装版本

composer create-project --prefer-dist laravel/laravel=8.5 blog

示例:

结果如下:

打开后可看到如下内容:

运行

示例:

在Laravel项目对应目录文件夹中,打开cmd命令窗口

运行命令

php artisan serve

接着再浏览器地址栏中输入 http://127.0.0.1:8000

路由

基本路由

构建基本路由只需要一个 URI 与一个 闭包,这里提供了一个非常简单优雅定义路由的方法:

Route::get('foo', function () {
    return 'Hello World';
});

所有的 Laravel 路由都在 routes 目录中定义,这些文件都由框架自动加载。routes/web.php 文件用于定义 web 界面的路由。这里面的路由会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。

路由器允许你注册能响应任何 HTTP 请求的路由:

Route::get($uri, $callback);

Route::post($uri, $callback);

Route::put($uri, $callback);

Route::patch($uri, $callback);

Route::delete($uri, $callback);

Route::options($uri, $callback);

示例:

重定向路由

如果要定义重定向到另一个 URI 的路由,可以使用 Route::redirect 方法。

Route::redirect('/here', '/there');

示例:

默认情况, Route::redirect 返回的状态码是 302 。如上面的例子

但你可以使用第三个可选参数自定义状态码:

Route::redirect('/here', '/there', 301);

视图路由

如果你的路由只需要返回一个视图, 你可以使用 Route::view 方法。

view 方法接受一个 URI 作为第一个参数,一个视图名作为第二个参数。此外,还可以通过第三个可选参数将一个数据数组传递给视图:

Route::view('/welcome', 'welcome');

Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

示例:

视图页面在resources中创建

创建路由指向视图页面

结果如下所示:

路由参数

必填参数

可选参数

可以在参数后面加上?标记来实现,但前提是要确保路由的相应变量有默认值:

正则表达式约束

可以使用路由实例上的 where 方法约束路由参数的格式。where 方法接受参数名称和定义参数应如何约束的正则表达式:

Route::get('user/{name}', function ($name) {
    //
})->where('name', '[A-Za-z]+');

Route::get('user/{id}', function ($id) {
    //
})->where('id', '[0-9]+');

Route::get('user/{id}/{name}', function ($id, $name) {
    //
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);

路由命名

路由命名可以方便地为指定路由生成 URL 或者重定向。

通过在路由定义上链式调用 name 方法可以指定路由名称:

还可以指定控制器行为的路由名称:

注意:路由命名必须是唯一的

生成指定路由的 URL

一旦为路由指定了名称,就可以使用全局辅助函数 route 来生成链接或者重定向到该路由:


示例:

<?php
use Illuminate\Support\Facades\Route;

use App\Http\Controllers\UserController;
Route::get('/user/show2',
    [UserController::class,'show2'] )->name('ss');

结果如下:

控制器

为了替代在路由文件中以闭包形式定义的所有的请求处理逻辑,你可能想要使用控制类来组织这些行为。控制器能将相关的请求处理逻辑组成一个单独的类。控制器被存放在 app/Http/Controllers 目录。

定义控制器

示例:

控制器绑定路由

use App\Http\Controllers\UserController;
Route::get('/user/show/{name}', [UserController::class,'show']);

以上结果为:

安装语言包

命令

composer require laravel-lang/lang

安装完成后,修改config中的app.php,把timezone和locale修改一下

然后在vendor目录中找到zh_CN目录:

vendor --> laravel-lang --> zh_CN

复制zh_CN到resources中的lang里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值