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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
PHP 简单日历实现代码
Oct 28 PHP
paypal即时到账php实现代码
Nov 28 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
PHP对象Object的概念 介绍
Jun 14 PHP
关于php正则匹配汉字的方法介绍
Apr 25 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
8个PHP数组面试题
Jun 23 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
Laravel 框架返回状态拦截代码
Oct 18 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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
实用函数4
2007/11/08 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
javascript this详细介绍
2016/09/19 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
Python调用C# Com dll组件实战教程
2017/10/12 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
python中partial()基础用法说明
2018/12/30 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
墨西哥网上超市:Superama
2018/07/10 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
安全检查管理制度
2014/02/02 职场文书
小学少先队活动方案
2014/02/18 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
Python制作表白爱心合集
2022/01/22 Python