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数据库类
May 27 PHP
php MsSql server时遇到的中文编码问题
Jun 11 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
Yii框架弹出框功能示例
Jan 07 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/05/14 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
Python 字符串操作方法大全
2014/03/11 Python
Python全局变量操作详解
2015/04/14 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
浅谈python中的占位符
2017/11/09 Python
python 动态加载的实现方法
2017/12/22 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
类和结构的区别
2012/08/15 面试题
数学专业推荐信范文
2013/11/21 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
采购意向书范本
2014/03/31 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技