Maison > développement back-end > tutoriel php > php框架laravel学习 三 (基本功能)

php框架laravel学习 三 (基本功能)

WBOY
Libérer: 2016-08-10 08:48:35
original
962 Les gens l'ont consulté

一、路由

路由其实就是浏览器里用来发http请求的指令,很多api的功能实际上就是通过URL来发送请求的。

http请求方式和响应是基础课,但是内容不少,要先研究好。

Laravel的路由和其他框架有所不同,需要手动逐个定制,好处在于功能强大,灵活,易于管理。

3种基本方式

第一种
就是Route::get(‘路径’, function(){…});这种形式,你可以根据需要把get换成post, put, delete等各种请求方式;这种写法最常见,也是最推荐的;

路由后面可以用闭包(匿名的函数)直接执行一段代码,这个是很多框架没有的,实际中不太可能把业务代码写到这个小小的闭包中,而是放到控制器中,因此最常见的写法是Route::get(‘路径’, xxxController@action);

路由的闭包函数最多的用处是用来测试某个功能或代码,即写即用,非常方便,我一般都会保留一个Route::get(‘test’, function(){…});做测试。

项目中往往路由很多,一个一个写有些人觉得慢了。有些CRUD是非常标准化的,于是就有了所谓的Restful路由(控制器)。

第二种:
Route::resource(‘posts’,’PostsController’);

写一个这样的路由,其实生成7个带路由名称的路由,这7个路由的路径形式是按照restful标准来制定的,所以有又叫做rest路由;但这个路由有个限制,就是在对应的控制器中,除了rest对应的7个方法外,其他方法如果要访问,要在Restful路由前面定义一个路由访问它。

第三种:
叫做控制路由,又叫隐式路由:
Route::controller(‘foo’, ‘FooController’);

这种写法很灵活,用魔术方法在方法名上设定http请求方式,这对于一些api式的请求很方便。

给隐式路由起名字需要注意,因为它不是逐个写路由的,方法如下:

<code>Route::controller(<span>'users'</span>, <span>'UserController'</span>, [

    <span>'anyLogin'</span> => <span>'user.login'</span>,

]);</code>
Copier après la connexion

前面是方法名,后面是路由名称;

路由名称
话说回来,给路由命名有什么用呢?有用,因为路由(url)会在大量的视图文件中使用,有了路由名称,就可以解耦,可以任意修改url,而不会影响视图中的url;

路由参数
我们通常说的路由参数,一般看起来像这样index.php?user=ooo&psw=xxx; 但在Laravel看来,这种明文的方式比较丑且不安全。所以它的写法成了这样:

<code>Route::get(<span>'user/{name}'</span>, <span><span>function</span><span>(<span>$name</span>)</span>
{</span><span>//可以直接使用$name</span>
})</code>
Copier après la connexion

这个参数值如果是字符串,不能与其他路由名称一样,系统会优先路由,这样就取不到值了。
关于取值这块,首先其实是可以直接传值,另外也可以通过对象方法取值,官网说明比较坑,route?>input(id)

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了php框架laravel学习 三 (基本功能),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal