laravel学习笔记

laravel初始化配置

1、wamp版本需求(PHP 版本 >= 5.5.9|Wamp2.5)

2、开启rewrite和vhost

C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf

3,进入C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf,添加一块下面这样的代码

ServerAdmin [email protected]

DocumentRoot "e:/code/laravel/public/"-------框架安装目录

ServerName minshop.com--------------访问项目的域名

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

4、在d:\wamp\bin\apache\apache2.4.9\conf\httpd.conf这个文件中开启下面这些php扩展

php.ini:C:\wamp\bin\php\php5.5.12\php.ini

extension=php_openssl.dll

extension=php_mbstring.dll

extension=php_pdo_mysql.dll

5,最后进入c:\windows\system32\drivers\etc\hosts,强hosts使用记事本打开,在底部加入127.0.0.1 项目访问域名如(minshop.com)

这一步修改可能由于没有权限无法修改,可以将文件拷贝出来,在别处修改完成后在复制过来覆盖原有的文件即可

laravel路由

首先先介绍一下常用的artisan命令:

1,php artisan list-----------------产看所有的artisan命令

2,php artisan make:controller 控制器的名称-------这一条命令时创建一个新的控制器

3,php artisan make:middleware 中间件的名称-------这一条命令时创建一个中间件

4,php artisan route:list-----------------------这一条命令时查看routes.php这个文件中创建的路由

1,表示加载框架首页,第一个参数表示浏览器地址栏的所填参数,第二个是一个必报函数

Route::get('/', function () {

return view('welcome');

});

2,如果没有将public目录下面的.htaccess文件复制到根目录里面,则需要在地址栏中输入blog.com/public/foo 就会输出hello word----------注意,blog.com后面必须加上public 才能正常访问。。。如果已经将.htaccess伪静态配置文件复制到根目录下,则只需输入blog.com/foo就会显示hello word*/

Route::get('/foo', function () {

echo 'get';

});

3,laravel Route postman post 提交TokenMismatchException in VerifyCsrfToken.php line 53;Laravel默认是开启了CSRF功能,需要关闭此功能有两种方法:打开文件:app\Http\Kernel.php,然后把这行注释掉:'App\Http\Middleware\VerifyCsrfToken'*/

Route::post('/foo', function () {

echo 'post';

});

/*Route::put('/foo', function () {

echo 'put';

});

Route::match(['get', 'post'], '/test', function () {

echo "metch";

});

Route::any('/foo', function () {

echo "foo";

});*/

4在地址栏中输入blog.com/user/123 就会输出user 123*/

Route::get('user/{id}', function ($id) {

return 'User ' . $id;

});

5路由参数的约束,限定id的取值只能是0到9,否则将报错

Route::get("user/{id}",function($id){

return 'User'.$id;

})->where('id',"[0-9]+");

6,输出设置的控制器指定的内容

/*Route::get('/login','Admin\LoginController@index');*/

//Route::get('/user/profile','Admin\IndexController@index')->name('profile');

7,路由命名

//profile为http://blog.com/user,也即是路由的别名

/*Route::get('user',['as'=>'profile',function(){

echo route('profile');

return '你好';

}]);*/

//Route::get('user',['as'=>'profile','uses'=>'Admin\LoginController@index']);

//等效于上面的那个写法,只是将as中的路由别名写在了外面的name方法中

//Route::get('user','Admin\LoginController@index')->name('profile');

8,路由分组(将具有相同特性的路由划分到一个组中)

//Route::get('admin/login','Admin\LoginController@login');

//Route::get('admin/index','Admin\LoginController@index');

Route::group(['prefix'=>'admin','namespace'=>'Admin'],function(){

Route::get('login','LoginController@login');

Route::get('index','LoginController@index');

Route::resource('article','ArticleController');

});

其中Route::resource是资源路由,这一条命令可以自动创建出对应的控制器中的方法如:

POST      | admin/article  | admin.article.store  | App\Http\Controllers\Admin\ArticleController@store

GET|HEAD  | admin/article  | admin.article.index  | App\Http\Controllers\Admin\ArticleController@index

GET|HEAD  | admin/article/create        | admin.article.create  | App\Http\Controllers\Admin\ArticleController@create

DELETE    | admin/article/{article}      | admin.article.destroy | App\Http\Controllers\Admin\ArticleController@destroy

PUT|PATCH | admin/article/{article}      | admin.article.update  | App\Http\Controllers\Admin\ArticleController@update

GET|HEAD  | admin/article/{article}      | admin.article.show    | App\Http\Controllers\Admin\ArticleController@show

GET|HEAD  | admin/article/{article}/edit | admin.article.edit    | App\Http\Controllers\Admin\ArticleController@edit

9,中间件---就是在路由上层添加了一层保护或者过滤

1,web中间件中有一个 \Illuminate\Session\Middleware\StartSession::class,意思是开启session服务;

2,自定义中间件

第一步>>>

在kernel.php中的 protected $routeMiddleware = [当中自定义一个如:'admin.login' => \App\Http\Middleware\AdminLogin::class,

意思是在app\Http\middleware中新建一个文件为AdminLogin.php---可以使用php artisan make:middleware AdminLogin来创建文件

第二步>>>

在Adminlogin.php中定义自己的过滤规则就行了

Edit ByMaHua

你可能感兴趣的:(laravel学习笔记)