基本路由
您的應用程序的絕大多數路由將在 app/routes.php 文件中定義。Laravel 中最簡單的路由由一個 URI 和一個閉包調用組成。
基本 GET 路由
復制代碼 代碼如下:
Route::get('/', function()
{
return 'Hello World';
});
基本 POST 路由
復制代碼 代碼如下:
Route::post('foo/bar', function()
{
return 'Hello World';
});
注冊一個路由以響應所有 HTTP 方法
復制代碼 代碼如下:
Route::any('foo', function()
{
return 'Hello World';
});
強制一個路由必須通過 HTTPS 訪問
復制代碼 代碼如下:
Route::get('foo', array('https', function()
{
return 'Must be over HTTPS';
}));
經常您需要根據路由產生 URLs,您可以通過使用 URL::to 方法:
復制代碼 代碼如下:$url = URL::to('foo');
路由參數
復制代碼 代碼如下:
Route::get('user/{id}', function($id)
{
return 'User '.$id;
});
可選的路由參數
復制代碼 代碼如下:
Route::get('user/{name?}', function($name = null)
{
return $name;
});
帶默認值的可選的路由參數
復制代碼 代碼如下:
Route::get('user/{name?}', function($name = 'John')
{
return $name;
});
帶正則表達式約束的路由
復制代碼 代碼如下:
Route::get('user/{name}', function($name)
{
//
})
->where('name', '[A-Za-z]+');
Route::get('user/{id}', function($id)
{
//
})
->where('id', '[0-9]+');
路由過濾器
路由過濾器提供了一種限制訪問指定路由的簡單的方法,這在您需要為您的站點創建需要認證區域的時候非常有用。Laravel 框架中包含了一些路由過濾器,比如 auth 過濾器、auth.basic 過濾器、guest 過濾器、以及 csrf 過濾器。它們被存放在 app/filters.php 文件中。
定義一個路由過濾器
復制代碼 代碼如下:
Route::filter('old', function()
{
if (Input::get('age') < 200)
{
return Redirect::to('home');
}
});
如果一個響應從一個路由過濾器中返回,這個響應即被認為是這個請求的響應,路由將不被執行,任何關於這個路由的 after 過濾器也將被取消執行。
為一個路由指定一個路由過濾器
復制代碼 代碼如下:
Route::get('user', array('before' => 'old', function()
{
return 'You are over 200 years old!';
}));
為一個路由指定多個路由過濾器
復制代碼 代碼如下:
Route::get('user', array('before' => 'auth|old', function()
{
return 'You are authenticated and over 200 years old!';
}));
指定路由過濾器參數
復制代碼 代碼如下:
Route::filter('age', function($route, $request, $value)
{
//
});
Route::get('user', array('before' => 'age:200', function()
{
return 'Hello World';
}));
當路由過濾器接收到作為第三個參數的響應 $response:
復制代碼 代碼如下:
Route::filter('log', function($route, $request, $response, $value)
{
//
});
基本路由過濾器的模式
您可能希望根據 URI 為一組路由指定過濾器。
復制代碼 代碼如下:
Route::filter('admin', function()
{
//
});
Route::when('admin/*', 'admin');
在上面的例子中,admin 過濾器將應用帶所有以 admin/ 開頭的路由。星號作為一個通配符,將適配到所有字符的組合。
您也可以通過指定 HTTP 方法約束模式過濾器:
復制代碼 代碼如下:
Route::when('admin/*', 'admin', array('post'));
過濾器類
對於高級的過濾器,您可以使用一個類代替閉包函數。因為過濾器類是位於應用程序之外的 IoC 容器,您能夠在過濾器中使用依賴注入,更易於測試。
定義一個過濾器類
復制代碼 代碼如下:
class FooFilter {
public function filter()
{
// Filter logic...
}
}
注冊一個基於類的過濾器
復制代碼 代碼如下:
Route::filter('foo', 'FooFilter');
命名路由
命名路由在更易於在生成跳轉或 URLs 時指定路由。您可以像這樣為路由指定一個名字:
復制代碼 代碼如下:
Route::get('user/profile', array('as' => 'profile', function()
{
//
}));
您也可以為控制器的方法指定路由名字:
復制代碼 代碼如下:
Route::get('user/profile', array('as' => 'profile', 'uses' =>
'UserController@showProfile'));
現在您在生成 URLs 或跳轉的時候使用路由的名字:
復制代碼 代碼如下:
$url = URL::route('profile');
$redirect = Redirect::route('profile');
您可以使用 currentRouteName 方法獲取一個路由的名字:
復制代碼 代碼如下:
$name = Route::currentRouteName();
路由組
有些時候您可能希望應用過濾器到一組路由。您不必要為每個路由指定過濾器,可以使用路由組:
復制代碼 代碼如下:
Route::group(array('before' => 'auth'), function()
{
Route::get('/', function()
{
// Has Auth Filter
});
Route::get('user/profile', function()
{
// Has Auth Filter
});
});
子域名路由
Laravel 路由也能夠處理通配符的子域名,並且從域名中獲取通配符參數:
注冊子域名路由
復制代碼 代碼如下:
Route::group(array('domain' => '{account}.myapp.com'), function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});
路由前綴
一組路由可以通過在屬性數組中使用 prefix 選項為路由組添加前綴:
為路由組添加前綴
復制代碼 代碼如下:
Route::group(array('prefix' => 'admin'), function()
{
Route::get('user', function()
{
//
});
});
路由模型綁定
模型綁定提供了一個簡單的方法向路由中注入模型。比如,不僅注入一個用戶的 ID,您可以根據指定的 ID 注入整個用戶模型實例。首先使用 Route::model 方法指定所需要的模型:
為模型綁定一個變量
復制代碼 代碼如下:
Route::model('user', 'User');
然後, 定義一個包含 {user} 參數的路由:
復制代碼 代碼如下:
Route::get('profile/{user}', function(User $user)
{
//
});
因為我們已經綁定 {user} 參數到 User 模型,一個 User 實例將被注入到路由中。因此,比如一個 profile/1 的請求將注入一個 ID 為 1 的 User 實例。
注意: 如果在數據庫中沒有找到這個模型實例,將引發404錯誤。
如果您希望指定您自己定義的沒有找到的行為,您可以為 model 方法傳遞一個閉包作為第三個參數:
復制代碼 代碼如下:
Route::model('user', 'User', function()
{
throw new NotFoundException;
});
有時您希望使用自己的方法處理路由參數,可以使用 Route::bind 方法:
復制代碼 代碼如下:
Route::bind('user', function($value, $route)
{
return User::where('name', $value)->first();
});
引發404錯誤
有兩種方法在路由中手動觸發一個404錯誤。首先,您可以使用 App::abort 方法:
復制代碼 代碼如下:
App::abort(404);
其次,您可以拋出一個 Symfony\Component\HttpKernel\Exception\NotFoundHttpException 的實例。
更多關於處理404異常和為這些錯誤使用使用自定義響應的信息可以在 錯誤 章節中找到。
路由至控制器
Laravel 不僅允許您路由至閉包,也可以路由至控制器類,甚至允許創建 資源控制器.
更多信息請訪問 控制器 文檔。
你不能將2台電腦的IP設置一樣啊 試試 192.168.133.32或者其他數字 但不能是33
首先,你應該的到一個固定的ip地址,你們公司的網絡本身就是局域網內網IP,你也可以將你任意一台使用的電腦IP作為無線路由使用的靜態IP,例如:192.168.2.101,然後你按以下方法設置
無線路由器設置教程實例
在配置無線路由器之前,我們首先要連接好相關的線路。先把連接Internet端的網線插入無線路由器的WAN端口,然後我們需要一台計算機通過網線連接路由器的LAN口對路由器進行相關的配置。首先要確保本地的計算機操作系統安裝了TCP/IP協議,對於Windows 2000以上級別的用戶這個步驟可以忽略。由於路由器默認的地址為192.168.1.1,子網掩碼為255.255.255.0,因此我們必須手動設置本地的連接地址為同一個網段之內才能正常配置路由器,即把本地連接的地址設置為192.168.1.xxx(xxx=2~254)。
子網掩碼為255.255.255.0。設置完成之後打開IE輸入192.168.1.1無線路由的默認地址之後就會彈出以上窗口,要求用戶輸入管理員的用戶名以及密碼。用戶名和密碼都可以從產品說明書上獲知,一般都為admin。
一般的路由器都可以直接通過Web的方式直接管理,而這款路由器同樣如此,界面采用了全中文設置,對於國內的用戶會帶來一定的便利。登陸之後IE自動彈出一個窗口,為產品設置向導可以令用戶簡單快捷地完成無線路由器的設置。點擊下一步之後提供了3種最常見的網絡登陸方式,以最常見的ADSL為例,我們選用PPPoE虛擬撥號的方式點擊下一步,然後要求輸入登陸網絡的帳號以及密碼,然後點擊下一步進入了無線設置的頁面。
在此簡單介紹一下無線路由器設置教程這個頁面的幾個選項的詳細功能,無線功能若選擇為開啟,則接入無線網絡的主機將可以訪問有限網絡;SSID號,也就是無線局域網用於身份驗證的登陸名,只有通過身份驗證的用戶才可以訪問該無線網絡;
頻段,用於確定無線路由器使用的無線頻率段,選擇的范圍從1~11,其中使用的最多的多數為11頻道,正是兩個同在2.4GHz段的信號,只有相差4個以上的頻率,信號才不會互相干擾(因此通常使用6頻道與11頻道合用)。模式,可以選擇11Mbps帶寬的802.11b模式、54Mbps帶寬的802.11g模式(同時兼容802.11b模式)。配置完成之後點擊下一步完成即可。
完成之後,我們在Web的頁面中點擊運行狀態,可以看到路由器仍然沒有進行撥號連接,需要我們手動點解連接之後才能接入到Internet中。連接之後,我們可以在這個頁面中看到路由器中的各種狀態,如LAN口狀態即當前路由器的默認地址、無線狀態即無線路由中的相關設置選項以及WAN口狀態即接入Internet後獲得的地址以及ISP供應商的網關和DNS服務器地址,並且還可以統計路由器的在線時間和控制路由器的連接狀態。
完成了以上這個步驟,無線路由的配置已經可以說是基本完成,本地通過網線連接的計算機以及通過無線網卡連接的計算機都可以通過無線路由而實現上網的功能,所以說配置無線路由並沒有大家所想的那麼抽象和復雜。
而無線網卡端的設置也十分簡單,插入無線網卡之後根據提示安裝相關的驅動程序之後即可使用。當用戶完成配置無線路由器之後,安裝有無線網卡的計算機便會自動地搜索到相關的無線網絡,然後用戶點擊連接即可輕松地連接到該無線局域網上實現文件共享以及連接Internet的功能。當用戶單擊右下角無線網絡狀態的圖標時,就會出現以上窗口,該窗口可以顯示網絡的連接速度以及信號的強度,雖然信號的強度並不是十分精准,但還是有一定的參考價值。在該窗口中......余下全文>>