当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii2框架自定义类统一处理url操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-23 10:52:49 浏览: 评论:0 

这篇文章主要介绍了Yii2框架自定义类统一处理url操作,涉及Yii2框架资源管理与配置相关操作技巧,需要的朋友可以参考下。

本文实例讲述了Yii2框架自定义类统一处理url操作,分享给大家供大家参考,具体如下:

因为每个人写url的方式不一样,导致我们后期如果对url有修改的话,就非常麻烦。

所以我们需要来统一管理,同时还可以规范书写。

1、新建services\UrlService.php,services 是我们自定义的目录,专门用来写我们的各种自定义服务。

  1. <?php 
  2. namespace app\services; 
  3. use yii\helpers\Url; 
  4. /** 
  5.  * 统一管理链接,并规范书写 
  6.  * Class UrlService 
  7.  * @package app\services 
  8.  */ 
  9. class UrlService 
  10.   /** 
  11.    * 返回一个内部链接 
  12.    * @param $uri 
  13.    * @param array $params 
  14.    * @return string 
  15.    */ 
  16.   public static function buildUrl($uri,$params=[]) 
  17.   { 
  18.     return Url::toRoute(array_merge([$uri],$params)); 
  19.   } 
  20.   /** 
  21.    * 返回一个空链接 
  22.    * @return string 
  23.    */ 
  24.   public static function buildNullUrl() 
  25.   { 
  26.     return "javascript:void(0)"
  27.   } 

2、我们已经给UrlService 类写了2个静态方法,下面来看看如何使用?

在我们之前加载js和css处,代码就可以修改为如下:

  1. $this->css = [ 
  2.   UrlService::buildUrl("bootstrap/css/bootstrap.min.css",["v"=>$release]), 
  3.   UrlService::buildUrl('css/app.css'
  4. ]; 
  5. $this->js = [ 
  6.   UrlService::buildUrl('jquery/jquery.min.js'), 
  7.   UrlService::buildUrl('bootstrap/js/bootstrap.min.js'
  8. ]; 

3、此时我们打开浏览器发现页面错位,并没有成功加载css和js。

我们需要编辑config/web.php这个配置文件,打开如下代码的注释

  1. 'urlManager' => [ 
  2.   'enablePrettyUrl' => true, 
  3.   'showScriptName' => false, 
  4.   'rules' => [ 
  5.   ], 
  6. ],

Tags: Yii2自定义类 Yii2统一处理url

分享到: