批改状态:合格
老师批语:blade写完, 再用原生语法写一下, 试试能不能完成同样的功能
<?php// 1.设置命名空间(命名空间和文件目录对应,注意区分大小写,App的A除外)namespace App\Http\Controllers;// 2.自定义一个控制类,类名自定义,但是一定要继承laravel的控制类,否则不属于控制器类// (注:控制器类名必须与文件名相同,符合PSR-4规则才能自带加载。)class Login extends Controller {public function hi(){return 'hello everbody';}}?>

routes/web.php中加入路由就可以访问
Route::get('index/hi', 'Login@hi');

php artisan make:controller Example 最后个单词Example就是类名,可以根据需要自行命名,为规范要求大写开头

resources\views 中新建文件.blade.php
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><h2>输出</h2><div>昵称:{{$username}}</div><div>年龄:{{$age}}</div><div>邮箱:{{$email}}</div><div>职业:{{$role}}</div><div>流程控制</div><!-- switch判断 -->@switch(true)@case($age>0 && $age<=18)<span>少年!</span>@break@case($age>18 && $age<=30)<span>年轻人!</span>@break@case($age>30 && $age<=40)<span>大哥!</span>@break@default<span>老铁!</span>@endswitch<!-- if判断 -->@if ($role === 1)<span>{!!$msg!!}</span><!-- 这种写法原样输出不转格式 -->@else<span>{{$defaultinfo}}</span>@endif</body></html>
<?php// 1.设置命名空间(命名空间和文件目录对应,注意区分大小写,App的A除外)namespace App\Http\Controllers;// 2.自定义一个控制类,类名自定义,但是一定要继承laravel的控制类,否则不属于控制器类// (注:控制器类名必须与文件名相同,符合PSR-4规则才能自带加载。)class Login extends Controller {public function hi(){return 'hello everbody';}public function info(){$data['username'] = "emagic";$data['age'] = 20;$data['email'] = "emagic@qq.com";$data['sex'] = "男";$data['role'] = 1;$data['msg']= "<span style='color: red'>你是超级管理员,有删帖权利</span>";$data['defaultinfo'] = "请遵守网站规范,文明发帖";return view("info",$data);}}?>
web.php:(路由)
第一个参数:地址栏拼接的访问地址,第二个参数:控制器名称@方法名称


return view("param1",$param2);
第1个参数:视图模板名称,第2个参数:必须是数组类型
`控制器中传来的数组在前端模板中直接使用key作为变量名即可!!!``如controller中$data['username'],传递到view模板中使用,(xxx.blade.php)视图中写作{{$username}}`
{{$变量名}}前端解析更安全
{!!$变量名!!}原样输出,可以带上html或者script标签显示格式或者运行脚本
@if @else @switch 等条件判断前面要加,语句后面不用加分号;流程控制最后要加对应的@endif或者@endswitch等结束符
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号