常熟思科認(rèn)證_思科認(rèn)證培訓(xùn)
¥詳詢
班制:周末班
蘇州三網(wǎng)IT教育思科認(rèn)證課程介紹:理論課程
理論課程根據(jù)CCIE RS v5.0考試大綱內(nèi) 容要求進(jìn)行設(shè)計(jì),共包含五個(gè)模塊
【1 】Layer 2 Technologies
【2】 Layer 3 Technologies
【3 】VPN Technologies
【4 】Infrastructure Security
【5 】Infrastructure Services
理論課程每個(gè)模塊除了老師直播上課之外,還將為學(xué)員提供
【1】老師上課使用的課件
【2】老師上課的課堂筆記
【3】老師上課的講解視頻
【4】理論測(cè)試文檔
【5】實(shí)驗(yàn)測(cè)試文檔
【6】一對(duì)一答疑服務(wù)及群答疑
【7】.....等
場(chǎng)地租賃服務(wù)
擁有10間專業(yè)培訓(xùn)教室,包括了20臺(tái)、25臺(tái)和30臺(tái)等不同規(guī)格的培訓(xùn)機(jī)房, 機(jī)器配置性能卓越,高速率連接因特網(wǎng),可以滿足不 同層次的信息化培訓(xùn)需求。
先后為Microsoft公司、IBM公司、Oracle公司、Juniper公司、EMC公司,中 國(guó)移動(dòng)、中國(guó)石化等客戶提供了相應(yīng)的培訓(xùn)場(chǎng)地服務(wù) ,獲得了客戶的一致認(rèn)可!
思科CCIE-DC直通車(數(shù)據(jù)中心)
思科CCIE-DC直通車”課程涵蓋思科數(shù)據(jù)中心方向的所有初級(jí)、中級(jí)、高級(jí)課程知識(shí),總共分為CCNA->CCNP->CCIE三個(gè)階段,共5門(mén)課程,總課時(shí)為16天。課程設(shè)計(jì)由淺入深,適合所有具備CCNP-RS基礎(chǔ)的學(xué)員參加。
1.1 CCNA-DC(包含1門(mén)課程,課時(shí)4天)
課程概述:包含NEXUS 交換機(jī)基礎(chǔ)知識(shí),存儲(chǔ)原理知識(shí),服務(wù)器虛擬化知識(shí)等數(shù)據(jù)中心方面的基礎(chǔ)知識(shí)。
1.2 CCNP-DC(包含3門(mén)課程,課時(shí)12天)
課程概述:包含NXOS 交換機(jī)的原理和配置、存儲(chǔ)網(wǎng)絡(luò)的原理和配置、UCS 服務(wù)器架構(gòu)和使用、服務(wù)器虛擬化和網(wǎng)絡(luò)虛擬化等知識(shí)。
課程列表:
1) NX-OS(NEXUS 交換機(jī)):課時(shí)6天,包含NXOS 的原理和配置
2) Storage(存儲(chǔ)網(wǎng)絡(luò)):課時(shí)3 天,包含存儲(chǔ)網(wǎng)絡(luò)的原理知識(shí)和配置方法。
3) UCS(UCS 服務(wù)器):課時(shí)3天,包含服務(wù)器的操作使用以及網(wǎng)絡(luò)虛擬化。
1.3 CCIE-DC集訓(xùn)營(yíng)(包含1門(mén)課程,課時(shí)按需安排)
課程概述:包含CCIE LAB考試的高級(jí)知識(shí)點(diǎn)、分解實(shí)驗(yàn)、考題講解等。
laravel4.2框架路由配置深入了解(上篇)
laravel框架路由并不像YII或CI等框架那樣有著固定的默認(rèn)方式(路徑,GET,POST來(lái)提取),因此在使用laravel框架時(shí)配置路由是必備的。
路由是**配置注入到程序中,laravel路由非常靈活,不僅可以指定Controller對(duì)應(yīng)的Action還可以完成很多的偽靜太工作,在進(jìn)入MVC前還可以做一些必要的參數(shù)過(guò)濾。
優(yōu)點(diǎn):
面向?qū)ο蠊芾砺酚?,配置靈活,可以針對(duì)不同的地址解析處理。
路由可過(guò)濾,分組提高路由調(diào)用精準(zhǔn)安全。
路由執(zhí)行不只針對(duì)MVC控制器,也可以寫(xiě)入其它自定義處理入口。
路由調(diào)用Action時(shí)可以定義調(diào)用傳入的參數(shù)。
路由可以區(qū)分GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS等請(qǐng)方式調(diào)用不同的Action
缺點(diǎn):
路由管理程序復(fù)雜,增加系統(tǒng)負(fù)載。
路由配置會(huì)隨著系統(tǒng)升級(jí)改版不斷增加,增加了維護(hù)時(shí)間。
路由配置靈活,但每個(gè)Controller**少一個(gè)路由配置管理,增加開(kāi)發(fā)流程。
路由是入口必經(jīng)之路,如果路由配置出錯(cuò),會(huì)讓整個(gè)系統(tǒng)報(bào)錯(cuò),影響升級(jí)維護(hù)開(kāi)發(fā)。
**方文檔中對(duì)路由配置做了些常規(guī)的示例:http://v4.golaravel.com/docs/4.2/routing
路由配置都是** Illuminate\Support\Facades\Route 類,Route實(shí)際上是一個(gè)外觀類,它繼承于Illuminate\Support\Facades\Facade 并不是直接的路由類,框架**類別名處理使Illuminate\Support\Facades\Route可以**Route訪問(wèn),這樣可以大大的簡(jiǎn)化代碼,Route類本身是全靜態(tài)方法,只要調(diào)用的靜態(tài)方法非當(dāng)前類的,都可以當(dāng)路由類來(lái)使用,(**次使用必需是靜態(tài)調(diào)用方法,如:Route::controller(user, UserController);)。實(shí)際上在laravel框架中大量了使用這種外觀模式,我們可以在 vendor/laravel/framework/src/Illuminate/Support/Facades/目錄下看到很多的外觀類,這些外觀外都已經(jīng)指定了對(duì)應(yīng)的操作類,存放在loC容器類中,使用這種外觀模式主要是統(tǒng)一入口類,簡(jiǎn)化程序,當(dāng)然如果不使用這些外觀類直接調(diào)用對(duì)應(yīng)的類也可以,只是有的類在調(diào)用時(shí)沒(méi)有那么方便,可能有的類在new時(shí)需要一些參數(shù),而這些參數(shù)又要?jiǎng)?chuàng)建一些對(duì)象,相對(duì)對(duì)使用外觀類來(lái)說(shuō)復(fù)雜的多。
所有的外觀類都可以** Facades::getFacadeRoot() 來(lái)獲取外觀類指定的實(shí)際類對(duì)象,如:
$route=Route::getFacadeRoot();//獲取路由對(duì)象
var_dump(get_class($route));//打印對(duì)象
# 打印結(jié)果如下
# string(25) "Illuminate\Routing\Router"
所以
1 Route::controller(user, UserController);
1 Route::getFacadeRoot()->controller(user, UserController);
這兩行代碼功能結(jié)果是一樣的。
laravel框架的外觀模式比較復(fù)雜,這里就不多作說(shuō)明。
上面我們打印了路由類(Illuminate\Routing\Router),現(xiàn)在我們來(lái)看看路由類的對(duì)外函數(shù):
/*============= 路由基本配置 =============*/
/*
* ******** 常規(guī)路由配置 **********
*
*參數(shù):$uri [string]指定URL地址,必須是標(biāo)準(zhǔn)的URL地址,不含域名
* $action [Closure|array|string] 要調(diào)用的控制方法
* $methods [array|string] 指定請(qǐng)求類型如:GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS
*返回值:\Illuminate\Routing\Route對(duì)象
*/
Route::get($uri, $action);//配置使用GET或HEAD請(qǐng)求路由
Route::post($uri, $action);//配置使用POST請(qǐng)求路由
Route::put($uri, $action);//配置使用PUT請(qǐng)求路由
Route::patch($uri, $action);//配置使用PATCH請(qǐng)求路由
Route::delete($uri, $action);//配置使用DELETE請(qǐng)求路由
Route::options($uri, $action);//配置使用OPTIONS請(qǐng)求路由
Route::any($uri, $action);//配置使用GET,HEAD,POST,PUT,PATCH,DELETE請(qǐng)求路由
Route::match($methods, $uri, $action);//配置自定義請(qǐng)求路由
常規(guī)路由配置是一對(duì)一的配置,也就是說(shuō)一個(gè)action就得配置一個(gè)路由。
常規(guī)路由配置中,框架會(huì)先以請(qǐng)求類型匹配如:GET或POST然后提出匹配成功的路由,這種方式配置的路由并未加載對(duì)應(yīng)的Action文件,只是暫存一些加載信息,相對(duì)安全,但其配置數(shù)據(jù)比較多。
注意:
$url 是請(qǐng)求路由地址,允許配置方法:
直接對(duì)應(yīng)的URL地址,如:test-route/action
提取參數(shù)方式,如:test/{name}/{id?} 注意:在{}內(nèi)的是從請(qǐng)求路由URL中匹配提取的標(biāo)識(shí),并不單指請(qǐng)求的URL地址為 test/name/id。在{}中只參數(shù)的占位標(biāo)識(shí),它可以是‘test/show/1’或‘show/list’等,相當(dāng)于正則:‘test/[^/] (/[^\]*)?’,占位標(biāo)識(shí)還可以用來(lái)參數(shù)判斷過(guò)濾處理,即指定參數(shù)的數(shù)據(jù)結(jié)構(gòu),如果匹配的則進(jìn)入路由。
$action 參數(shù)允許有三種類型:
Closure 是匿名函數(shù),當(dāng)前路由配置成功后會(huì)調(diào)用這個(gè)匿名函數(shù),默認(rèn)是不會(huì)有參數(shù)傳入,如果在路由URL中配置值則按配置的先后傳入U(xiǎn)RL路由參數(shù)。
array 是數(shù)組方式,可有元素如:
array(
# 指定訪問(wèn)域名,并且可以使用{}把域名的部分內(nèi)容提取來(lái)當(dāng)Action的參數(shù),
# 以下方式是把laravel提取出來(lái)傳給Action方法**個(gè)參數(shù),
# 可以同時(shí)提取多個(gè),默認(rèn)為空。
# 注意:在{}中間的字符串只是參數(shù)名,并不是指定這個(gè)域名,只是指定了相關(guān)規(guī)則。
# 同路由URL一樣處理
domain=>www.{laravel}.com,
# 必須設(shè)置,可以是匿名函數(shù)或控制器@方法
#(**后還是會(huì)轉(zhuǎn)為匿名函數(shù),原值放在controller下標(biāo)中保存)
uses=>HomeController@anyIndex,
prefix=>dc-, //路由URL前綴部分,默認(rèn)為空。
# 當(dāng)前路由的名稱,下面會(huì)詳細(xì)說(shuō)明。
as=>name,
controller=>HomeController@anyIndex, //無(wú)須設(shè)置,該下標(biāo)是uses下標(biāo)的副本。
Closure=>function(){}, //類似uses,但只能指定匿名函數(shù),優(yōu)先級(jí)沒(méi)有uses高
https, //指定HTTP是否為加密模式
http, //指定HTTP是否為非加密模式
# 過(guò)濾參數(shù)說(shuō)明:
# before 與after 元素是輸入輸出過(guò)濾處理,
# 這兩個(gè)需要**Route::filter添加過(guò)濾項(xiàng),否則無(wú)效
# 過(guò)濾規(guī)則:[array|string]
# 數(shù)組形式:array(name,list)
# 字符串形式:name:filter|list:filter
# 注意filter非必需,只是用來(lái)傳入過(guò)濾器的參數(shù)值,
# 可以用,來(lái)連接多個(gè)參數(shù)。如果沒(méi)有filter參數(shù)則可以這樣寫(xiě) name|list。
before=>name:filter|list:filter, //進(jìn)入action前參數(shù)過(guò)濾處理規(guī)則
after=>array(name,list) //調(diào)用action返回值進(jìn)行過(guò)濾處理規(guī)則
)
string 是直接給定路由要執(zhí)行的 控制器@方法 例:GoodsController@anyList。格式必須正確。
提醒:路由中的URL或域名可以獲取指定提取參數(shù),如:
Route::get(index/{id},indexController@Action);
則可以**:
Route::input(id);
獲取參數(shù)值。參數(shù)鍵名必需相同。
還可以**:
Route::current()->parameters();
獲取全部參數(shù)數(shù)組。
路由指定的 as 名稱使用:
當(dāng)在路由中指定了as鍵名,則當(dāng)前這個(gè)路由器具有更多操作功能:
例:
Route::get(index/{id?},[as=>name,users=>IndexController@index])
** Route::currentRouteName() 獲取當(dāng)前執(zhí)行路由的 as 值,如果不存在則返回 null
也可以用于生成URL地址或跳轉(zhuǎn)。
URL::route(name); //生成URL地地址: index
Redirect::route(name); //跳轉(zhuǎn)地址: index
或者:
URL::route(name,12); 生成URL地址:index/12
Redirect::route(name,12); 生成跳轉(zhuǎn)URL為:index/12
也就是說(shuō),如果URL地址或域名中有指定參數(shù),
則可以在 URL::route或Redirect::route追加參數(shù)
注意:如果上面例子中的URL為‘index/{id}’,不指定為{id?}時(shí),則在使用URL::route時(shí),則必需使用追加參數(shù)的方式,否則‘{id}’串會(huì)被生成到URL地址:/index/{id}
路由判斷,是比較常用的,通常如果我們指定了路由的AS則判斷會(huì)更加方便,尤其是多個(gè)路由指定到同一個(gè)Action中時(shí),會(huì)更容易判斷。
Route::is(name); 匹配成功返回true,失敗返回false,
參數(shù)可以使用 * 進(jìn)行正則通配,但只能使用 * 作為通配,不能使用其它正則表達(dá)式
可以傳入多個(gè)參數(shù)。如:
Route::is(name1,name2,name/laravel/*);
當(dāng)然我們也可以使用 Request::is(index/*);來(lái)判斷,當(dāng)然這種判斷不具有便捷性。
判斷是否存在某個(gè)路由
Route::has(name);
其實(shí),給路由添加 as 也比較方便權(quán)限管理,對(duì)于添加一個(gè) as 值或添加一個(gè) url 地址來(lái)比,as 名稱有很大我方便性。
/*
* ******** 路由過(guò)濾器配置 **********
*
*參數(shù):$name [string]過(guò)濾器名,實(shí)際會(huì)生成 router.filter:$name 事件標(biāo)識(shí)
* $callback [mixed] 要調(diào)用的過(guò)濾控制方法
*返回值:\Illuminate\Routing\Route對(duì)象
*/
Route::filter($name, $callback)
參數(shù) $callback 支持參數(shù)類型:
Closure 匿名函數(shù)。
FilterClassName[@ActionName] 過(guò)濾器類名或者再加上過(guò)濾器方法名,默認(rèn)方法名為filter。
array 要過(guò)濾的對(duì)象與方法名數(shù)組如 array(new FilterClass,number)
**終是以調(diào)用函數(shù)的方法進(jìn)行處理,參數(shù)順序有:
當(dāng)前路由對(duì)象 Illuminate\Routing\Route
當(dāng)前請(qǐng)求對(duì)象 Illuminate\Http\Request
過(guò)濾規(guī)則中追加的參數(shù),如果沒(méi)有追加則為空。
如:
# 添加常規(guī)路由
Route::get(test/filter,[
Closure=>function(){ //處理函數(shù)
return ok;
},
before=>name:test,arg //添加進(jìn)入處理函數(shù)前過(guò)濾處理
]);
# 添加過(guò)濾器
Route::filter(name,function($route, $request,$response1,$response2){
var_dump($response1,$response2);die;
});
請(qǐng)求地址:/test/filter
結(jié)果:string(3) "test" string(3) "arg"
注意:在過(guò)濾器中返回值會(huì)直接影響到路由是否成功調(diào)用控制器的Action,只要過(guò)濾器中有返回值,都會(huì)直接跳過(guò)調(diào)用控制器的Action而直接把過(guò)濾器的返回值作為本次請(qǐng)求的結(jié)果,同樣過(guò)濾器的返回值得按標(biāo)準(zhǔn)的類型處理,允許類型有:string,array,Redirect(地址跳轉(zhuǎn)處理),或者ROM數(shù)據(jù)集等,不能出現(xiàn)布爾,資源,沒(méi)有__toString函數(shù)的對(duì)象等。
/*
* ******** 路由全局選擇性過(guò)濾**********
*
*參數(shù):$pattern [string] 匹配路由URL串
* $name [string] 要調(diào)用的過(guò)濾器名,** Route::filter 添加的過(guò)濾器
* $methods [array|string|null] 請(qǐng)求類型如:get,post等,可以指定多個(gè)類型
*返回值:\Illuminate\Routing\Route對(duì)象
*
*/
# 只要匹配 $pattern 串的路由URL都執(zhí)行,
# $name 過(guò)濾器名,
# $methods 是指定請(qǐng)求類型,允許單個(gè)或多個(gè)。
# 注意:$pattern 允許使用 * 通配,如 admin/* ,不能使用其它正則表達(dá)式。
Route::when($pattern, $name, $methods = null);
# 只要匹配 $pattern 正則的路由URL都執(zhí)行,
# $name 過(guò)濾器名,
# $methods 是指定請(qǐng)求類型,允許單個(gè)或多個(gè)。
# 注意:這里 $pattern 是正則表達(dá)式。
Route::whenRegex($pattern, $name, $methods = null);
注意:選擇性路由過(guò)濾是針對(duì)當(dāng)前所有的注入路由節(jié)點(diǎn),只要路由節(jié)點(diǎn)的URL匹配成功都會(huì)執(zhí)行指定的過(guò)濾器,并不會(huì)因?yàn)橛行┞酚晒?jié)點(diǎn)在這之前而不影響。
如:
Route::get(admin/{id},function(){
var_dump(Route::input(id));
});
Route::whenRegex(#admin/(\d )?#,filterId,[post,get]);
Route::when(admin/*,filterNum,[post,get]);
Route::filter(filterNum,function(){
var_dump(filterNum);
});
Route::filter(filterId,function(){
var_dump(filterId);
});
請(qǐng)求地址:admin/12
輸出的結(jié)果是:
string(9) "filterNum"
string(8) "filterId"
string(2) "12"
注意:使用when比使用whenRegex過(guò)濾的優(yōu)先級(jí)高,也就是使用when要在使用whenRegex添加過(guò)濾先執(zhí)行,不輪先程序后。whenRegex添加是完全使用正則的方式,所以**個(gè)參數(shù)必需是合法可用的正則表達(dá)式。when與whenRegex是全局的,只要有添加的路由節(jié)點(diǎn)URL能匹配到則會(huì)進(jìn)入過(guò)濾器。
/*
* ******** 路由參數(shù)判斷過(guò)濾器配置 **********
*
*參數(shù):$key [string]參數(shù)名稱,如路由URL:test/filter/{id} 中的id就是參數(shù)名
* $pattern [string]要調(diào)用的過(guò)濾控制方法 過(guò)濾正則表達(dá)式
* $patterns [array]設(shè)置多個(gè) 參數(shù)名稱=>過(guò)濾正則表達(dá)式 數(shù)組
*返回值:null
*/
Route::pattern($key, $pattern);//設(shè)置全局條件,只影響設(shè)置后所有路由。
Route::patterns($patterns);//設(shè)置多個(gè)全局條件,
/*
******* 這里主要是針對(duì) where 函數(shù)作說(shuō)明,
******* 由于這個(gè)參數(shù)屬于 Illuminate\Routing\Route(路由單點(diǎn)對(duì)象),要**常規(guī)路由才能獲得。
*
*參數(shù):$name [array|string] 如果是字符串則是參數(shù)名,如果是數(shù)組則(參數(shù)名=>過(guò)濾正則)組成。
* $expression [string|null]如果前參數(shù)為字符串,則這個(gè)為過(guò)濾正則,否則無(wú)意義。
*返回值:\Illuminate\Routing\Route對(duì)象
*/
Route::get(test/filter/{id},TestController@filter)->where($name, $expression = null);
相關(guān)推薦:
蘇州思科認(rèn)證培訓(xùn) 蘇州思科認(rèn)證培訓(xùn)班 蘇州思科認(rèn)證培訓(xùn)學(xué)校
免費(fèi)體驗(yàn)課開(kāi)班倒計(jì)時(shí)
稍后會(huì)有專業(yè)老師給您回電,請(qǐng)保持電話暢通