Home  >  Article  >  php教程  >  Laravel框架路由配置总结、设置技巧大全,laravel框架

Laravel框架路由配置总结、设置技巧大全,laravel框架

WBOY
WBOYOriginal
2016-06-13 09:25:551784browse

Laravel框架路由配置总结、设置技巧大全,laravel框架

基本路由

您的应用程序的绝大多数路由将在 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') {
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的功能。当用户单击右下角无线网络状态的图标时,就会出现以上窗口,该窗口可以显示网络的连接速度以及信号的强度,虽然信号的强度并不是十分精准,但还是有一定的参考价值。在该窗口中......余下全文>>
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn