在Laravel中借鉴Yii的params使用方法

Posted PHP开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Laravel中借鉴Yii的params使用方法相关的知识,希望对你有一定的参考价值。

   

六星php学院教学视频 

想要领取六星PHP学院“整套学习视频基础教程(所谓整套就是从前端到后端的基础视频教程,比较适合新手)的同学,可以加QQ 990824742,领取视频教程,加入时验证信息填:PHP开源社区


       
在Laravel中借鉴Yii的params使用方法在Laravel中借鉴Yii的params使用方法    

欢迎关注:六星PHP开源社区

六星PHP开源社区”,有学习文档,框架视频教程网站教程,提供百度分享给大家下载,收藏。大家关注后回复关键词,便可获取!平台将与大家分享前端到后端的实例,学习语法,学习教程,技巧等!欢迎大家关注!

在Laravel中借鉴Yii的params使用方法            

在Laravel中借鉴Yii的params使用方法在Laravel中借鉴Yii的params使用方法

在Laravel中借鉴Yii的params使用方法    

文章正文内容

情景

在网站开发中,我们通常会有很多的基本固定的参数,比如站点标题copyrighturl等,看到这些我们通常会去config文件里面找,因为这些参数基本都是固定的,很少改动,就算改动也很简单。
但还有一些情况就是,如user表有一个字段gander0或者1,表示女生男生,在拿到数据在页面显示时肯定不应该显示01,而是转换为对应的文字信息。初学者可能是这样做的:

 
   
  1. <?php

  2.    <?php if ($user->gander == 1): ?>

  3.        <span>性别:<?php echo "男生";?></span>

  4.    <?php else: ?>

  5.        <span>性别:<?php echo "女生";?></span>

  6.    <?php endif ?>?>

但会随着网站的功能的变化发生变化,这时候需要添加一个2表示保密。那这时候我们还得去那个地方改动php的判断条件:

  1. <?php

  2.    <?php if ($user->gander == 1): ?>

  3.        <span>性别:<?php echo "男生";?></span>

  4.    <?php elseif($user->gander == 2): ?>

  5.        <span>性别:<?php echo "保密";?></span>

  6.    <?php else: ?>

  7.        <span>性别:<?php echo "女生";?></span>

  8.    <?php endif ?>?>

这样的改动显然是不舒服的,万一老板说不需要有保密这个选项的时候,万一这样的改动有十个地方,万一...... 这还是一个性别,如果还有其他很多的类似这样的操作,比如typeis_actived等等。面对这样的处理,有没有一些便捷、可扩展的配置呢?我们可以来看看Yii中的方法。

Yii 中的解决办法

面对什么的情况,在 Yii 中有一个很好的方法。当你开始学习 Yii 的时候,你已经注意到了config文件夹中的配置文件main.php,而且你会发现,在这个main.php文件中有一个params选项,这个是干嘛的呢?

 
   
  1. // Yii 1 中'params' => array

       'gander' => [

           0 => '女生'

           1 => "男生",

           2 => "保密"

       ],    // ......),

那在页面中这些数据是怎么使用的呢?

  1. // controllers/UserController.php

    public function actionIndex(){

       $user = User::findOne(1);

       return $this->render('index',[

           'user' => $user

       ])

    }

    // views/user/index.php// Yii 1<span>性别:

    <?php echo Yii::app()->params['gander'][$user->gander];?></span>

    // Yii 2<span>性别:

    <?php echo \Yii::$app->params['gander'][$user->gander];?></span>

这样的方式是不是很舒服呢?写代码也方便很多呢?那在 Laravel 中如何去运用这样的方式呢?

Laravel中如何借鉴

在 Laravel 中运用 Yii 的这种方式其实也很简单,阅读官方的文档就会发现有一个东西叫config('name'),这个就是从配置文件夹config中回去配置细细,比如config('app.url')会获取到/config/app.php中的url配置项。

 
   
  1. // config/app.php

    return [

       'debug' => env('APP_DEBUG'false),

       'url' => 'http://blog.helloarron.com',

       'timezone' => 'UTC',

    ]

看到这里你大概已经知道了如何实现params的设置了。Let's GO ~ 在config文件夹中新建文件params.php,然后内容如下:

  1. return [

       'gander' => [

           0 => '女生'

           1 => "男生",        2 => "保密"

       ],

       'is_active' => [

           0 => '未激活',

           1 => '激活'

       ],

  2. ];

然后blade页面中使用config('name')调用即可:

  1. <span>性别:{{ config('params.gander')[$user->gander] }}</span>

(点击左下角阅读全文,解锁更多姿势) 

       


       
点击上面微信号关注我关注我哟    

以上是关于在Laravel中借鉴Yii的params使用方法的主要内容,如果未能解决你的问题,请参考以下文章

详细说明php的4中开源框架(TP,CI,Laravel,Yii)

Yii2:如何在布局中使用模型的数据

Yii2 或 Laravel5 是不是弥补了 Codeigniter 的弱点?

yii2整理

从Laravel,Yii,Thinkphp中学习php 操作数据库的事务嵌套

Yii2 使用a标签发送post请求