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 相关文章推荐
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php中cookie的使用方法
Mar 29 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
php生成与读取excel文件
Oct 14 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
python实现ftp客户端示例分享
2014/02/17 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
python在每个字符后添加空格的实例
2018/05/07 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
Python绘制热力图示例
2019/09/27 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
幼儿园运动会入场词
2014/02/10 职场文书
授权委托书怎么写
2014/04/03 职场文书
先进个人自荐书
2015/03/06 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
导游词之天津古文化街
2019/11/09 职场文书
导游词之太原天龙山
2020/01/02 职场文书