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学习之PHP表达式
Oct 09 PHP
五个PHP程序员工具
May 26 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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 如何获取数组第一个值
2013/08/06 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
快速了解Python相对导入
2018/01/12 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Django Rest framework权限的详细用法
2019/07/25 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
ASP.NET Core中的配置详解
2021/02/05 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
写给妈妈的道歉信
2014/01/11 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
校园环保建议书
2014/05/14 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
怒海潜将观后感
2015/06/11 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android