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

2023-07-03

一、下载 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

这里引入了 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

四、TrimString

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

https://file.lulublog.cn/images/3/2023/07/x8nlFggN38rNrrVnFGgTugnL7JGgmQ.jpg

注释掉

\App\Http\Middleware\TrimStrings::class

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

https://file.lulublog.cn/images/3/2023/07/cV90993FVabg3vMvpWeP9tMZ9TDmm8.jpg

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

https://file.lulublog.cn/images/3/2023/07/Ow19CZcf1JZL4lk9HaG4zRJr8hf1h3.jpg

发现空格也被提交过来了

取消注释

\App\Http\Middleware\TrimStrings::class

重新点击提交按钮

https://file.lulublog.cn/images/3/2023/07/K7J23fB72tmJ3ts88S0Mts33JFR3ll.jpg

发现空格没有提交过来了

五、ConvertEmptyStringsToNull

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

https://file.lulublog.cn/images/3/2023/07/WncuaHhoYE3izaZfnAaxM3nay3uZAI.jpg

注释掉

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

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

https://file.lulublog.cn/images/3/2023/07/I4fqDjt1ZFgWo141bgqw0OBHGepeZw.jpg

直接点击提交按钮

https://file.lulublog.cn/images/3/2023/07/LJk7bhN8Nzzd0Ih343FWkK880JHWW8.jpg

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

取消注释

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

重新点击提交按钮

https://file.lulublog.cn/images/3/2023/07/qbr1Vp1BAYQZRd11v1czCNZA0VU1qr.jpg

发现提交的内容都是 null

打赏

取消

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

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

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

阅读 241