Blogger Information
Blog 53
fans 3
comment 0
visits 46948
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
laravel7控制器的创建、参数传递及视图引擎基础语法
emagic
Original
1085 people have browsed it

0914作业:

一、控制器创建

1.手动创建

  • 在app->Controllers目录下,新建文件
  1. <?php
  2. // 1.设置命名空间(命名空间和文件目录对应,注意区分大小写,App的A除外)
  3. namespace App\Http\Controllers;
  4. // 2.自定义一个控制类,类名自定义,但是一定要继承laravel的控制类,否则不属于控制器类
  5. // (注:控制器类名必须与文件名相同,符合PSR-4规则才能自带加载。)
  6. class Login extends Controller {
  7. public function hi(){
  8. return 'hello everbody';
  9. }
  10. }
  11. ?>

对应routes/web.php中加入路由就可以访问

  1. Route::get('index/hi', 'Login@hi');

2.自动创建

进入laravel文件夹中artisan所在同级目录

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

  • 后面控制器代码同手动方式一样设置相关方法代码即可

二、控制器往视图传值并输出,以及视图中blade语法if else 、switch、变量的输出方式

1.先创建视图模板

  • resources\views 中新建文件
  • 新建文件名要使用laravel模板必须带上.blade.php

info.blade.php

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <h2>输出</h2>
  10. <div>昵称:{{$username}}</div>
  11. <div>年龄:{{$age}}</div>
  12. <div>邮箱:{{$email}}</div>
  13. <div>职业:{{$role}}</div>
  14. <div>流程控制</div>
  15. <!-- switch判断 -->
  16. @switch(true)
  17. @case($age>0 && $age<=18)
  18. <span>少年!</span>
  19. @break
  20. @case($age>18 && $age<=30)
  21. <span>年轻人!</span>
  22. @break
  23. @case($age>30 && $age<=40)
  24. <span>大哥!</span>
  25. @break
  26. @default
  27. <span>老铁!</span>
  28. @endswitch
  29. <!-- if判断 -->
  30. @if ($role === 1)
  31. <span>{!!$msg!!}</span>
  32. <!-- 这种写法原样输出不转格式 -->
  33. @else
  34. <span>{{$defaultinfo}}</span>
  35. @endif
  36. </body>
  37. </html>

2.控制器login.php

  1. <?php
  2. // 1.设置命名空间(命名空间和文件目录对应,注意区分大小写,App的A除外)
  3. namespace App\Http\Controllers;
  4. // 2.自定义一个控制类,类名自定义,但是一定要继承laravel的控制类,否则不属于控制器类
  5. // (注:控制器类名必须与文件名相同,符合PSR-4规则才能自带加载。)
  6. class Login extends Controller {
  7. public function hi(){
  8. return 'hello everbody';
  9. }
  10. public function info(){
  11. $data['username'] = "emagic";
  12. $data['age'] = 20;
  13. $data['email'] = "emagic@qq.com";
  14. $data['sex'] = "男";
  15. $data['role'] = 1;
  16. $data['msg']= "<span style='color: red'>你是超级管理员,有删帖权利</span>";
  17. $data['defaultinfo'] = "请遵守网站规范,文明发帖";
  18. return view("info",$data);
  19. }
  20. }
  21. ?>

3. 对应设置路由器才能访问

web.php:(路由)
第一个参数:地址栏拼接的访问地址,第二个参数:控制器名称@方法名称

4.运行结果

三、小结:

laravel控制器传参到前端:

  • return view("param1",$param2);

  • 第1个参数:视图模板名称,第2个参数:必须是数组类型

laravel视图模板语法:

  1. `控制器中传来的数组在前端模板中直接使用key作为变量名即可!!!`
  2. `如controller中$data['username'],传递到view模板中使用,(xxx.blade.php)视图中写作{{$username}}`
  • {{$变量名}}前端解析更安全

  • {!!$变量名!!}原样输出,可以带上html或者script标签显示格式或者运行脚本

  • @if @else @switch 等条件判断前面要加,语句后面不用加分号;流程控制最后要加对应的@endif或者@endswitch等结束符

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:blade写完, 再用原生语法写一下, 试试能不能完成同样的功能
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post