本文實例講述了Yii2框架自定義類統一處理url操作。分享給大家供大家參考,具體如下:
因為每個人寫url的方式不一樣,導致我們后期如果對url有修改的話,就非常麻煩。
所以我們需要來統一管理,同時還可以規范書寫。
1、新建services/UrlService.php,services 是我們自定義的目錄,專門用來寫我們的各種自定義服務。
<?phpnamespace 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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選