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相关资料
Oct 09 PHP
PHP 文件类型判断代码
Mar 13 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
PHP ADODB实现事务处理功能示例
May 25 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
pyramid配置session的方法教程
2013/11/27 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
幼教个人求职信范文
2013/12/02 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
大学毕业生推荐信
2014/07/09 职场文书
班主任自我评价范文
2015/03/11 职场文书
前台岗位职责范本
2015/04/16 职场文书
新郎新娘致辞
2015/07/31 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery