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 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
How do I change MySQL timezone?
Mar 26 PHP
PHP注释实例技巧
Oct 03 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
Smarty分页实现方法完整实例
May 11 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 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下删除字符串中HTML标签的函数
2008/08/27 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
php上传文件问题汇总
2015/01/30 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php中namespace及use用法分析
2016/12/06 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
vue cli 全面解析
2018/02/28 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
python if not in 多条件判断代码
2016/09/21 Python
python查看数据类型的方法
2019/10/12 Python
python中p-value的实现方式
2019/12/16 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
中专生求职自荐信范文
2013/12/22 职场文书
十八大报告观后感
2014/01/28 职场文书
科级干部考察材料
2014/02/15 职场文书
市场营销调查计划书
2014/05/02 职场文书
党支部换届选举方案
2014/05/08 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
后天观后感
2015/06/08 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
python操作xlsx格式文件并读取
2021/06/02 Python
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python