新手学习 Laravel 的经验总结
刚开始一周多一点的时间先把laravel的开发文档看了一遍,,感觉刚开始接触时的感觉laravel的目录与thinkphp又不一样,它们的渲染模板的方式也不一样,模型的功能又比thinkphp的强大了许多,但是最厉害的地方的是它支持composer安装许多的模块,简单方便。在laravel的文档中,学到了门面(接口)和契约(接口),还知道了中间件,csrf保护和blade视图模板及laravel验证(过滤进入应用的 HTTP 请求提供了一套便利的机制)
在学习完laravel5.3之后,自己写了个个人博客,写的时候用到的技术也不多,主要原因是:1.练练手,2.服务器一直空闲着
在写的时候遇到了一些坑:
1、laravel的php与前台交互:
注意:这些都没有定义路由名称,如果使用 as 定义了路由名称的话,可以使用route()函数来代替url函数
(1)表单:
例:
前台表单:
向定义路由为search_find_blogs 的方法中提交数据:
{{csrf_field()}}
这个后台处理过后就得通过改变向前台渲染的参数来响应前台
(2)js的ajax,向路由为
例:
function post_form(operate){
$.post("{{url('admin_link_operate')}}",{_token:"{{csrf_token()}}",links_id:get_links_id(),operate:operate},function(data){
alert(data);
location.reload();
});
}
这样方法台只需要返回数据就前台就可以直接接收到了
2.利用js向后台提交文件
表单:
{{ csrf_field() }}
js:
var formData = new FormData($('#'+album_id+'album_form')[0]);
$(this).attr('value','编辑');
$.ajax({
url: "{{url('admin_album_edit')}}",
type: 'POST',
data: formData,
//设置同步方式
async: true,
//不会从浏览器缓存中加载信息
cache: false,
contentType: false,
processData: false,
success: function(d){
alert(d);
location.reload();
}
});
laravel的controller部分还是用$request->file('file_name')来获得文件
- 如果使用laravel5.3的模型的自动维护时间,,数据库的时间存储为时间戳timestamp或datetime类型,,如果存成int类型,则会出错
4.在blade模板中如果遇到解析不正确的话可以使用 {{ }} 或{!! !!}
5.在laravel中如果出现了向后台提交数据不对的情况,一定要先检查是否向后台提交了 _token':'{{csrf_token()
6.上传文件的时候,在form表单上一定要加上enctype="multipart/form-data"属性,,要不然文件传不过去
7.在form表单提交checkbox时,,要将其name上加上 [],要不如果提交多个的话,,只能收到最后一个
推荐文章: