国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - YII使用url組件美化管理的方法

YII使用url組件美化管理的方法

2020-12-11 16:05zm2714 PHP教程

這篇文章主要介紹了YII使用url組件美化管理的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了urlManager組件的具體功能及相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了YII使用url組件美化管理的方法。分享給大家供大家參考,具體如下:

urlManager組件

yii的官方文檔對(duì)此的解釋如下:

urlSuffix  此規(guī)則使用的url后綴,默認(rèn)使用CurlManger::urlSuffix,值為null。例如可以將此設(shè)置為.html,讓url看起來(lái)“像”是一個(gè)靜態(tài)頁(yè)面。
caseSensitive  是否大小寫(xiě)敏感,默認(rèn)使用CUrlManager::caseSensitive,值為null。
defaultParams  該規(guī)則使用的默認(rèn)get參數(shù)。當(dāng)使用該規(guī)則來(lái)解析一個(gè)請(qǐng)求時(shí),這個(gè)參數(shù)的值會(huì)被注入到$_GET參數(shù)中。
matchValue  當(dāng)創(chuàng)建一個(gè)URL時(shí),GET參數(shù)是否匹配相應(yīng)的子模式。默認(rèn)使用CurlManager::matchValue,值為null。

如果該屬性為 false,那么意味著當(dāng)路由和參數(shù)名匹配給定的規(guī)則時(shí),將以此來(lái)創(chuàng)建一個(gè)URL。

如果該屬性為true,那么給定的參數(shù)值夜必須匹配相應(yīng)的參數(shù)子模式。

注意:將此屬性設(shè)置為true會(huì)降低性能。

我們使用一些例子來(lái)解釋網(wǎng)址工作規(guī)則。我們假設(shè)我們的規(guī)則包括如下三個(gè):

?
1
2
3
4
5
array(
  'posts'=>'post/list',
  'post/<id:\d+>'=>'post/read',
  'post/<year:\d{4}>/<title>'=>'post/read',
)

調(diào)用$this->createUrl('post/list')生成/index.php/posts。第一個(gè)規(guī)則適用。

調(diào)用$this->createUrl('post/read',array('id'=>100))生成/index.php/post/100。第二個(gè)規(guī)則適用。

調(diào)用$this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))生成/index.php/post/2008/a%20sample%20post。第三個(gè)規(guī)則適用。

調(diào)用$this->createUrl('post/read')產(chǎn)生/index.php/post/read。請(qǐng)注意,沒(méi)有規(guī)則適用。

總之,當(dāng)使用createUrl生成網(wǎng)址,路線(xiàn)和傳遞給該方法的GET參數(shù)被用來(lái)決定哪些網(wǎng)址規(guī)則適用。如果關(guān)聯(lián)規(guī)則中的每個(gè)參數(shù)可以在GET參數(shù)找到的,將被傳遞給createUrl ,如果路線(xiàn)的規(guī)則也匹配路線(xiàn)參數(shù),規(guī)則將用來(lái)生成網(wǎng)址。

如果GET參數(shù)傳遞到createUrl是以上所要求的一項(xiàng)規(guī)則,其他參數(shù)將出現(xiàn)在查詢(xún)字符串。例如,如果我們調(diào)用$this->createUrl('post/read',array('id'=>100,'year'=>2008)) ,我們將獲得/index.php/post/100?year=2008。為了使這些額外參數(shù)出現(xiàn)在路徑信息的一部分,我們應(yīng)該給規(guī)則附加/* 。 因此,該規(guī)則post/<id:\d+>/* ,我們可以獲取網(wǎng)址/index.php/post/100/year/2008 。

正如我們提到的,URL規(guī)則的其他用途是解析請(qǐng)求網(wǎng)址。當(dāng)然,這是URL生成的一個(gè)逆過(guò)程。例如, 當(dāng)用戶(hù)請(qǐng)求/index.php/post/100 ,上面例子的第二個(gè)規(guī)則將適用來(lái)解析路線(xiàn)post/read和GET參數(shù)array('id'=>100) (可通過(guò)$_GET獲得) 。

提示:此網(wǎng)址通過(guò)createurl方法所產(chǎn)生的是一個(gè)相對(duì)地址。為了得到一個(gè)絕對(duì)的url ,我們可以用前綴yii: :app()->hostInfo ,或調(diào)用createAbsoluteUrl 。

注:使用的URL規(guī)則將降低應(yīng)用的性能。這是因?yàn)楫?dāng)解析請(qǐng)求的URL ,[ CUrlManager ]嘗試使用每個(gè)規(guī)則來(lái)匹配它,直到某個(gè)規(guī)則可以適用。因此,高流量網(wǎng)站應(yīng)用應(yīng)盡量減少其使用的URL規(guī)則。

test.com/vthot 想生成 test.com/vthot/

復(fù)制代碼 代碼如下:
'urlSuffix'=>'/',


要更改URL格式,我們應(yīng)該配置urlManager應(yīng)用元件,以便createUrl可以自動(dòng)切換到新格式和應(yīng)用程序可以正確理解新的網(wǎng)址:

 

?
1
2
3
4
5
6
7
8
9
10
'urlManager'=>array(
  'urlFormat'=>'path',
  'showScriptName'=>false,
  'urlSuffix'=>'.html',
  'rules'=>array(
    'posts'=>'post/list',
    'post/<id:\d+>'=>array('post/show','urlSuffix'=>'.html'),
    'post/<id:\d+>/<mid:\w+>'=>array('post/view','urlSuffix'=>'.xml'),
  ),
),

示例一

Rule代碼

復(fù)制代碼 代碼如下:
'posts'=>'post/list',


Action代碼

復(fù)制代碼 代碼如下:
echo $this->createAbsoluteUrl('post/list');

 

輸出

http://localhost/test/index.php/post

示例二

Rule代碼

復(fù)制代碼 代碼如下:
'post/<id:\d+>'=>array('post/show','urlSuffix'=>'.html'),


Action代碼

復(fù)制代碼 代碼如下:
echo $this->createAbsoluteUrl('post/show',array('id'=>998, 'name'=>'123'));

 

輸出

http://localhost/test/index.php/post/998.html?name=123

示例三

Rule代碼:

復(fù)制代碼 代碼如下:
'post/<id:\d+>/<mid:\w+>'=>array('post/view','urlSuffix'=>'.xml'),

 

Action代碼

復(fù)制代碼 代碼如下:
echo $this->createAbsoluteUrl('post/view',array('id'=>998, 'mid'=>'tody'));


輸出

 

http://localhost/test/index.php/post/998/tody.xml

示例四

Rule代碼

復(fù)制代碼 代碼如下:
'http://<user:\w+>.vt.com/<_c:(look|seek)>'=>array('<_c>/host','urlSuffix'=>'.me'),

 

Action代碼:

?
1
2
3
echo $this->createAbsoluteUrl('look/host',array('user'=>'boy','mid'=>'ny-01'));
echo '';
echo $this->createAbsoluteUrl('looks/host',array('user'=>'boy','mid'=>'ny-01'));

輸出

http://boy.vt.com/look.me?mid=ny-01
http://localhost/test/index.php/looks/host/user/boy/mid/ny-01

1)controller/Update/id/23

?
1
2
3
4
5
public function actionUpdate(){
  $id = Yii::app()->request->getQuery('id') ; 經(jīng)過(guò)處理的$_GET['id']
}
//$id = Yii::app()->request->getPost('id'); 經(jīng)過(guò)處理的$_POST['id']
//$id = Yii::app()->request->getParam('id'); //CHttpRequest更多

2)public function actionUpdate($id)  這種不支持多主鍵,會(huì)檢查一下到底GET里面有沒(méi)有id,沒(méi)有id就直接不允許訪(fǎng)問(wèn)

?
1
2
3
4
5
'sayhello/<name>' => 'post/hello', name是PostController actionHello($name)的參數(shù)
'post/<alias:[-a-z]+>' => 'post/view',  domain/post/e文小寫(xiě) 其中:前面的alias是PostController actionView($alias)的參數(shù)
'(posts|archive)/<order:(DESC|ASC)>' => 'post/index', domain/posts/DESC或domain/posts/ASC
'(posts|archive)' => 'post/index', domain/posts或domain/archive
'tos' => array('website/page', 'defaultParams' => array('alias' =>'terms_of_service')),

When the URL is /tos, pass terms_of_service as the alias parameter value.

隱藏 index.php

還有一點(diǎn),我們可以做進(jìn)一步清理我們的網(wǎng)址,即在URL中藏匿index.php  入口腳本。這就要求我們配置Web服務(wù)器,以及urlManager應(yīng)用程序元件。

1.add showScriptName=>false

2.add project/.htaccess

?
1
2
3
4
5
6
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php

3.開(kāi)啟rewrite

簡(jiǎn)單的說(shuō),在main.php中簡(jiǎn)單設(shè)置urlManager,然后講了3條規(guī)則,基本都覆蓋到了。最后是隱藏index.php,請(qǐng)記住.htaccess位于index.php同級(jí)目錄 ,而不是protected/目錄。其他就簡(jiǎn)單了。

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩精品小视频 | 国产大学生援交视频在线观看 | 一区二区三区在线免费观看 | 久草热8精品视频在线观看 毛片黄片免费观看 | 在线免费观看av的网站 | 欧美日韩精品免费 | 国产黄色大片免费在线观看 | 色狠狠网 | 久久精品2| 综合激情网 | 久久久久久久久久久免费av | 亚洲精品欧美 | 国产一级视频免费观看 | 成人爱情偷拍视频在线观看 | 黄网免费看 | 色爱综合网 | 欧美在线电影 | 九九九久久国产免费 | 国产中文字幕在线 | 欧美一区二区三区久久精品 | 亚洲免费人成在线视频观看 | 亚洲一区二区三区 | 国产成人精品综合 | 一区二区三区在线播放 | 色婷婷综合久久久中字幕精品久久 | 日韩国产片 | 在线精品亚洲欧美日韩国产 | 国内精品久久久久久久影视红豆 | 久草 在线 | 久久久av | 7878www免费看片 | 亚洲国产成人久久 | 在线a视频网站 | 视频一区二区在线观看 | 中文字幕在线观看1 | 亚洲在线电影 | 99热国| 香蕉国产| 国产亚洲精品美女久久久久久久久久 | 久久精品99国产精品日本 | 综合久久综合 |