1.路由目录众所周知,对于我们熟悉的任何PHP框架,如TP、CI、YII、和路由系统存在。laravel框架也是如此。对数据库的操作无非是增删改查,只是框架不同,语法不同而已。因此,掌握laravel框架的路由系统对于我们掌握框架是非常重要的。我们知道,对于以前版本的LARAVEL框架,路由是写在app中的,而现在的laravel框架路由是存在于Routes目录下的,如下图所示:所有的Laravel路由都定义在routes目录下的路由文件中.这些文件都是由框架自动加载的。routes/web.php文件用于定义Web界面的路由。这里面的路由会被分配到web中间件组,提供会话状态和CSRF保护等功能。routes/api.php中定义的路由是无状态的,并分配给api中间件组。先来熟悉一下HTTP访问的几种方法:1、Get方法:常用方法,省略;2、post方法:常用方法,省略;3.head方法:与get方法类似,主要是获取某次访问的头部信息,服务端不返回请求内容;4、PUT方法:请求将文件保存到服务器;5、DELETE方法:请求删除服务器上的文件;6、TRACE方法:获取服务器从客户端接收到的Request信息(发送和调试),一般用于调试服务器;7、connect方法:以服务器为跳板,让服务器代替用户访问其他网页,然后将数据原样返回给用户;8、options方法:获取服务器URISupported方法,或者用于检查服务器性能,ajax跨域访问时,先发送options方法判断请求是否安全。2.熟悉路由下面我们写几个简单的路由来熟悉一下Laravel下的路由路径。在开始练习之前,我们关闭routes/web.php下下面两行与auth相关的代码,以免影响练习测试。//Auth::routes();//Route::get('/home','HomeController@index')->name('home');此时我们访问127.0.01:9999/news,显示的应该是NEWS。接下来,让我们用十组数据填充数据表,然后创建一个Model类和一个控制器来通过路由访问数据。(这里不是用laravel自带的seed填充的,有兴趣的朋友可以咨询下模拟数据怎么填充,关键词“laravelseeder”)。表结构如下图使用artisan命令创建Model类,打开cmd切换到项目根目录,输入phpartisanmake:modelNews得到app/News.php文件如图下面,因为laravel默认是Model类对应的表名在类名中加上s,对应的表应该是newss,我们在文件中添加protected$table='News',指定model类对应的表消息。然后我们使用artisan来构建控制器。phpartisanmake:controllerIndexController成功后,打开app/Http/Controllers/IndexController.php,测试成功。路由测试成功,说明我们可以通过路由访问控制器。接下来,我们将使用EloquentORM来检索数据库数据。如上图,需要在文件头引入对应的Model类useAppNews,然后在方法Index中调用News::all()Eloquent方法,然后显示数组方式,toArray();此外,我们还可以使用DB类的静态方法与数据库进行交互。toArray());$news=DB::table('news')->get();var_dump($新闻);}}以上只是数据库最简单的展示方式,具体的增删改查我们下个教程继续学习,现在回过头来看看路由的几种规则。1、route/*match方法的match和any方法是laravel自己封装的,也就是匹配*/Route::match(['get,post],'admin/login',function(){return'login';});/*这里我们可以使用match方法来匹配两个请求方法,这样是不是减少了代码量?*/我们还有第二种方法,/*GET,POST,PUT,DELETE..任何访问www.itbool.com/Admin/login的方式,使用第二个参数中的匿名函数来响应所有的HTTP动作。*/Route::any('Admin/login',function(){return'helloworld';});2.Laravel的路由参数必须用花括号括起来,并且必须是拼音字母。例如,{id}??用于表示$id参数。具体示例如下图所示:3.路由正则约束是指当我们要验证一些字段的时候,在laravel中,我们可以直接在路由中进行限制。普通形式->where('要限制的参数名','限制规则(正则,无斜杠//)');数组形式->where(['要限制的参数名1'=>'限制规则1(正则,无斜杠//)','要限制的参数名2'=>'限制规则2(正则,无斜杠//)//)']);如下图所示:4.资源路由例如:我们先使用artisan命令生成一个controller:phpartisanmake:controllerPhotoController--resource(artisan命令比较多,可以大大提高我们的开发速度)然后为这个控制器注册一个资源路由:Route::resource('photo','PhotoController');这时打开cmd命令行,输入phpartisanroute:list,可以看到下图中的route语句创建了多个路由来处理资源上的各种行为。生成的控制器保留每个操作的方法,还包括用于处理HTTP操作和URI的声明性注释。请注意,由于HTML表单无法生成PUT、PATCH或DELETE请求,因此您需要添加一个隐藏的_method输入字段来伪造这些HTTP操作。辅助函数method_field可以帮你创建这个字段:{{method_field('PUT')}}或者像这样在表单中添加
