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


Posted in PHP onMay 25, 2019

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

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

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

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

<?php
namespace app\services;
use yii\helpers\Url;
/**
 * 统一管理链接,并规范书写
 * Class UrlService
 * @package app\services
 */
class UrlService
{
  /**
   * 返回一个内部链接
   * @param $uri
   * @param array $params
   * @return string
   */
  public static function buildUrl($uri,$params=[])
  {
    return Url::toRoute(array_merge([$uri],$params));
  }
  /**
   * 返回一个空链接
   * @return string
   */
  public static function buildNullUrl()
  {
    return "javascript:void(0)";
  }
}

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

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

$this->css = [
  UrlService::buildUrl("bootstrap/css/bootstrap.min.css",["v"=>$release]),
  UrlService::buildUrl('css/app.css')
];
$this->js = [
  UrlService::buildUrl('jquery/jquery.min.js'),
  UrlService::buildUrl('bootstrap/js/bootstrap.min.js')
];

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

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

'urlManager' => [
  'enablePrettyUrl' => true,
  'showScriptName' => false,
  'rules' => [
  ],
],

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

PHP 相关文章推荐
社区(php&amp;&amp;mysql)四
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
实用函数8
Nov 08 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
PHP中实现Bloom Filter算法
Mar 30 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
Yii2框架加载css和js文件的方法分析
May 25 #PHP
php数组遍历类与用法示例
May 24 #PHP
PHP实现的操作数组类库定义与用法示例
May 24 #PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 #PHP
Swoole4.4协程抢占式调度器详解
May 23 #PHP
PHP文件上传小程序 适合初学者学习!
May 23 #PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 #PHP
You might like
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
jQuery实现日历效果
2020/09/11 jQuery
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python3实现微型的web服务器
2019/09/03 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
Python continue语句实例用法
2020/02/06 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Python 必须了解的5种高级特征
2020/09/10 Python
python 决策树算法的实现
2020/10/09 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
大学生的网上创业计划书
2013/12/31 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
学校团代会开幕词
2016/03/04 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python