laravel5.2 上手心得-笔记一

laravel5.2 初次上手,需要注意之处:

       1.表单提交数据需要加csrf验证,验证方式为在<form></form>表单中间添加  {{csrf_field()}}  否则会报错,为何要加这个,laravel学院有说明 csrf 跨站攻击。

<form action="/admin/user_login" method="post">
    {{csrf_field()}}
    <input type="text" name="username" class="username" placeholder="请输入用户名">
    <input type="password" name="password" class="password" placeholder="请输入密码">
    <input type="text" name="verCode" class="password" placeholder="请输入验证码">
    <button type="submit">登录</button>
    <div class="error"><span> </span></div>
</form>


2.可以使用{{URL::asset()}} 的方式或者{{asset()}}的方式访问根目录下的public 文件夹,前提是已经配置了虚拟主机站点,站点根目录为public/同级目录,而且server.php改为了index.php.


<script src="{{ URL::asset('/public/admin/js/jquery-1.8.2.min.js')}}"></script>
<script src="{{ URL::asset('/public/admin/js/supersized.3.2.7.min.js')}}"></script>
<script src="{{ URL::asset('/public/admin/js/supersized-init.js')}}"></script>
<script src="{{ URL::asset('/public/admin/js/scripts.js')}}"></script>


3.session 的默认使用方式被关闭,要想使用$_SESSION['name']=$name,的方式给session赋值,需要在入口文件,index.php文件中开启session,session_start().


<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylorotwell@gmail.com>
 */

session_start();//手动开启session
$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';


4.模板文件中的链接地址不建议直接写路由,用laravel提供的url()方法.

   例如不建议如下写法:

<div  style="margin-right:150px"> <img src="/admin/veri_code"></div>
  这种写法被解析成:
    <div  style="margin-right:150px"> <img src="/admin/veri_code"></div>


建议:
<div  style="margin-right:150px"> <img src=" {{url('/admin/veri_code')}}"></div>
这种写法会被解析成:
          <div  style="margin-right:150px"> <img src=" http://www.ad.com/admin/veri_code"></div>
 
 
5. 在使用php artisan 命令的时候,如果希望在Http\Controllers目录下创建类似Admin的表示后台管理的目录可以直接带路径,创建控制器,但是记得得是反斜杠 \例如:
	php artisan make:controller Admin\IndexController  。此时会在Http\Controllers目录下的Admin 目录创建Index控制器。
 
 
6.在使用中间件的时候,按照5.2的文档说明,在Route::group();加载的时候已经被加载了web中间件,如果使用的是mvc带页面开发而不是接口开发的话,会报如下错误:
   

FatalErrorException in View.php line 3:Maximum function nesting level of '100' reached, aborting!

原因是php底层函数调用操过了100次,可以通过修改 php.ini
添加  xdebug.max_nesting_level=600,解决。
 
 
不过只要不加载web就可以了。
 
 
例如如下对比:
/*需要验证登录的组*/
Route::group(['middleware'=>['web','admin.login']],function(){
    Route::get('/admin/index','Admin\IndexController@index');
});


这种会报错。


/*需要验证登录的组*/
Route::group(['middleware'=>['admin.login']],function(){
    Route::get('/admin/index','Admin\IndexController@index');
});


这种不会。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值