本文實(shí)例講述了Yii2框架自定義類(lèi)統(tǒng)一處理url操作。分享給大家供大家參考,具體如下:
因?yàn)槊總€(gè)人寫(xiě)url的方式不一樣,導(dǎo)致我們后期如果對(duì)url有修改的話(huà),就非常麻煩。
所以我們需要來(lái)統(tǒng)一管理,同時(shí)還可以規(guī)范書(shū)寫(xiě)。
1、新建services\UrlService.php,services 是我們自定義的目錄,專(zhuān)門(mén)用來(lái)寫(xiě)我們的各種自定義服務(wù)。
?php
namespace app\services;
use yii\helpers\Url;
/**
* 統(tǒng)一管理鏈接,并規(guī)范書(shū)寫(xiě)
* Class UrlService
* @package app\services
*/
class UrlService
{
/**
* 返回一個(gè)內(nèi)部鏈接
* @param $uri
* @param array $params
* @return string
*/
public static function buildUrl($uri,$params=[])
{
return Url::toRoute(array_merge([$uri],$params));
}
/**
* 返回一個(gè)空鏈接
* @return string
*/
public static function buildNullUrl()
{
return "javascript:void(0)";
}
}
2、我們已經(jīng)給UrlService 類(lèi)寫(xiě)了2個(gè)靜態(tài)方法,下面來(lái)看看如何使用?
在我們之前加載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、此時(shí)我們打開(kāi)瀏覽器發(fā)現(xiàn)頁(yè)面錯(cuò)位,并沒(méi)有成功加載css和js。
我們需要編輯config/web.php這個(gè)配置文件,打開(kāi)如下代碼的注釋
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Yii2創(chuàng)建控制器(createController)方法詳解
- yii2控制器Controller Ajax操作示例
- Yii2使用$this->context獲取當(dāng)前的Module、Controller(控制器)、Action等
- Yii2設(shè)置默認(rèn)控制器的兩種方法
- Yii2.0 Basic代碼中路由鏈接被轉(zhuǎn)義的處理方法
- yii2的restful api路由實(shí)例詳解
- 詳解Yii2 之 生成 URL 的方法
- Yii2針對(duì)指定url的生成及圖片等的引入方法小結(jié)
- yii2 url重寫(xiě)并隱藏index.php方法
- Yii2框架控制器、路由、Url生成操作示例