Laravel框架模板加载,分配变量及简单路由功能示例


Posted in PHP onJune 11, 2018

本文实例讲述了Laravel框架模板加载,分配变量及简单路由功能。分享给大家供大家参考,具体如下:

作为世界上第一的PHP框架,学习Laraver势在必行,虽然国内盛行ThinkPHP,但是多会一个框架总是对自己有好处的.

通过前面的文章Laravel框架在本地虚拟机快速安装的方法,我们已经可以顺利安装Laravel

安装之后,在目录laravel\app\Http下,有一个routes.php文件,重点了,这个就是控制全站的路由文件.

Route::get('/', function () {
 return view('welcome');
});

以上就是简单的一个路由,如果你绑定了路由,并且开启了apche和nginx的伪静态,你可以通过域名http:xxx.com/来访问

然后会出现漂亮的Laraver界面.

那么return指的是什么呢,就是返回一个视图文件,Laraver的视图文件在laravel\resources\views下面.Laraver规定视图文件名以.blade.php结尾,通常我们在做项目的时候需要视图很多,所以我们可以在views下面定义很多目录,然后在

return view('index.index');

都是可以的.表示视图下面目录下的视图文件,很多框架都是这样的,只不过文件名命名会有区别.

以上只是一个简单的路由调用了匿名函数,那么如何结合控制来用呢.

Laraver的控制器目录在laravel\app\Http\Controllers下面,你可以通过Laraver自带的

php artisen make:controller UseController

命令来创建控制器,并且里面已经生成了常用的方法,假如我们在控制的index方法下输出内容

如果需要没有任何定义的控制器,请在后面加上 --plain参数即可

但是如何访问呢,请看代码

Route::get('/','UseController@index');

这个例子就是将当前的目录'/'绑定到了控制器UseController下的index方法

Route::get('/about','UseController@about');

 再比如这样,我们可以http:xxx.com/about来访问指定的控制下面的方法

这里的get有很多,比如需要使用post等等,以后会陆续接触.

那么还有一个问题,这样每次都要定义的一个路由是不是非常的麻烦呢,所以Laraver允许我们使用隐式控制器

Route::controller('User','UserController');

这样就是访问User下的任何一个方法,无需指定路由,但是这样的话切记要在方法中遵循以下格式

get或者post等指定传递方式+Index,方法名第一个要大写,传参的话,要在function($a),在function里面写上.

分类变量到blade模板,这里注意,和thinkphp框架不同,我们常用以下几种方法:

1:

假如

$name = 'php artisen';

你可以在

return view('index')=>with('name',$name);

  然后在模板中使用{{ $name }}来解析分配的变量.

以上方法就等同于 

return view('index',['a'=>'b']);

不过这里在模板中解析的时候依然要使用{{ $a }} 来分配变量

2:

如果 

$articles = DB::table('user')->get();

利用数据库查询得出的结果

也见有人推荐这种写法

return view('user.dashboard.index', compact('articles'));

不过这都是个人操作习惯.

在使用compact函数的情况下,我们就直接可以遍历

$data = ['a','b','c'];

在使用

@foreach($data as $v)

的情况下,就可以直接使用{{ $v }}来遍历了

3:

当然我们常用都是分配数组或对象过来.所以一般使用以下方法

你可以在

return view('index',$data);

需要注意的是,默认在config下database.php中的PDO 'fetch' => PDO::FETCH_ASSOC,中默认是为FETCH_CLASS为对象格式

所以在遍历的时候,如果没有修改默认设置,则遍历时为{{ $a->v }}这种,如果是数组的时候,则是{{ $a['v'] }}

关于加载中的转义和不转义,举例如下:

$a = '<span style="color:red">this Laravel</span>';

{{ $a }} 输出

<span style="color:red">this Laravel</span>

{{!! $aa !!}} 输出红色字体的

'this Laravel'

知识点,如果加载的变量是一维数组,在模板中输出为{{ $键名 }},举例:

$data['a'] = 'this';
$data['n'] = 'that';
return view('sites.my',$data);

则在模板中

<p>我是$data分配过来的变量{{ $a }}</p>

这样才行,不可以使用

$data['a']

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
开发大型PHP项目的方法
Oct 09 PHP
PHP中比较时间大小实例
Aug 21 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
PHP图像处理类库及演示分享
May 17 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 #PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 #PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 #PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 #PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 #PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 #PHP
PHP实现二维数组中的查找算法小结
Jun 09 #PHP
You might like
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
PHP中的替代语法介绍
2015/01/09 PHP
微信API接口大全
2015/04/15 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
理解javascript封装
2016/02/23 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python文件操作基本流程代码实例
2017/12/11 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
PyTorch中的C++扩展实现
2020/04/02 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
python装饰器代码深入讲解
2021/03/01 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
架构师岗位职责
2013/11/18 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
关于学习的演讲稿
2014/05/10 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
《月光曲》教学反思
2016/02/16 职场文书