laravel5.4 阅读 1727
laravel5.4-第5章-middleware:TrimStrings+ConvertEmptyStringsToNull

laravel5.4-第5章-middleware:TrimStrings+ConvertEmptyStringsToNull

2023-07-03 • lulubin

一、下载 laravel 5.4

composer create-project laravel/laravel=5.4.* laravel5.4_middleware

新建数据库 laravel5.4_middleware

修改 .evn 配置文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel5.4_middleware
DB_USERNAME=laravel5.4_middleware
DB_PASSWORD=laravel5.4_middleware

修改中国时区,在 config/app.php 中修改

'timezone' => 'PRC',

切换目录

cd laravel5.4_middleware

二、创建模型

创建 post model

php artisan make:model Post -m

修改迁移文件:posts_table.php

public function up()
{
   Schema::create('posts', function (Blueprint $table) {
       $table->increments('id');
       $table->string('title');
       $table->text('content');
       $table->timestamps();
   });
}

执行数据迁移

php artisan migrate

如果报错

Specified key was too long; max key length is 1000 bytes

问题解决:在 AppServiceProvider 中调用 Schema::defaultStringLength 方法来实现配置:

use Illuminate\Support\Facades\Schema;

public function boot()
{
   Schema::defaultStringLength(191);
}

三、创建控制器

创建 PostController

php artisan make:controller PostController

修改 app/Http/Controllers/PostController.php

public function create()
{
   return view('posts.form');
}

public function store(Request $request)
{
   return $request->all();
}

新建视图文件:resources/views/posts/form.blade.php

https://file.lulublog.cn/images/3/2023/07/LPYFSq8EjPeEQ8yQiqeE9jjjkQ88ee.jpg?sign=424e70c5658abdf7dd2e2dfbfd139833&t=6acd0400

这里引入了 CSS Bulma 框架:https://bulma.io/documentation/overview/start/

注册路由,在 routes/web.php 新增

Route::resource('posts', 'PostController');

启动 serve

php artisan serve

访问:http://127.0.0.1:8000/posts/create

https://file.lulublog.cn/images/3/2023/07/I4fqDjt1ZFgWo141bgqw0OBHGepeZw.jpg?sign=fded8da9a8806b46398a6ff190268117&t=6acd0400

四、TrimString

laravel 5.4 在 app/Http/Kernel.php 中新增了两个 middleware,其中一个就是 TrimStrings

https://file.lulublog.cn/images/3/2023/07/x8nlFggN38rNrrVnFGgTugnL7JGgmQ.jpg?sign=a1f77f4c6de3731222bbd6119a0c0097&t=6acd0400

注释掉

\App\Http\Middleware\TrimStrings::class

访问:http://127.0.0.1:8000/posts/create,输入以下内容

https://file.lulublog.cn/images/3/2023/07/cV90993FVabg3vMvpWeP9tMZ9TDmm8.jpg?sign=40e8d6aff6fa547cf0d7796790559401&t=6acd0400

Content 后面输入了很多空格,点击提交按钮

https://file.lulublog.cn/images/3/2023/07/Ow19CZcf1JZL4lk9HaG4zRJr8hf1h3.jpg?sign=21b52aa97c3fd6517035cb6c86d621d7&t=6acd0400

发现空格也被提交过来了

取消注释

\App\Http\Middleware\TrimStrings::class

重新点击提交按钮

https://file.lulublog.cn/images/3/2023/07/K7J23fB72tmJ3ts88S0Mts33JFR3ll.jpg?sign=e3cffcd9c7efacdaa0737ab84df375ca&t=6acd0400

发现空格没有提交过来了

五、ConvertEmptyStringsToNull

laravel 5.4 在 app/Http/Kernel.php 中新增了两个 middleware,另一个就是 ConvertEmptyStringsToNull

https://file.lulublog.cn/images/3/2023/07/WncuaHhoYE3izaZfnAaxM3nay3uZAI.jpg?sign=35a7244c3bd8c0bb03a3f825efd4f2f9&t=6acd0400

注释掉

\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

访问:http://127.0.0.1:8000/posts/create

https://file.lulublog.cn/images/3/2023/07/I4fqDjt1ZFgWo141bgqw0OBHGepeZw.jpg?sign=fded8da9a8806b46398a6ff190268117&t=6acd0400

直接点击提交按钮

https://file.lulublog.cn/images/3/2023/07/LJk7bhN8Nzzd0Ih343FWkK880JHWW8.jpg?sign=c1ff9951bf52c7079caaf4ae6fd61e59&t=6acd0400

发现提交的内容都是空字符串

取消注释

\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

重新点击提交按钮

https://file.lulublog.cn/images/3/2023/07/qbr1Vp1BAYQZRd11v1czCNZA0VU1qr.jpg?sign=39be168ab5f5dcfb81a14a9d0f7bbcc3&t=6acd0400

发现提交的内容都是 null

打赏

×

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦