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