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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
php session劫持和防范的方法
Nov 12 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
4种PHP异步执行的常用方式
Dec 24 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP获取当前系统时间的方法小结
Oct 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 分页类 扩展代码
2009/06/11 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
js实现楼层导航功能
2017/02/23 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
使用Flask集成bootstrap的方法
2018/07/24 Python
python3爬虫怎样构建请求header
2018/12/23 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
Django如何将URL映射到视图
2019/07/29 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
django实现日志按日期分割
2020/05/21 Python
python如何保存文本文件
2020/06/07 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
业务代表的岗位职责
2013/11/16 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
名人传读书笔记
2015/06/26 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python