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 Socket 编程
Apr 09 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php数字转汉字代码(算法)
Oct 08 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
Yii框架分页实现方法详解
May 20 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP7移除的扩展和SAPI
Mar 09 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入门小知识
2008/03/24 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
教师自我评价范例
2013/09/24 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
运动会广播稿500字
2014/01/28 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2014年人事科工作总结
2014/11/19 职场文书