Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments: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等结束符