Laravel教程 八:queryScope 和 setAttribute

此文章为原创文章,未经同意,禁止转载。LaravelEloquentDatabase直接就是按照上一节所说的那样,我们来说说queryScope和setAttribute在laravel的用法。这里我首先是想向大家简单说说这两个知识点得应用场景是什么,我们在开发的时候,总是希望有一种偷懒的方式,所以考虑以下这两个场景:数据在存入数据库的时候需要进行预先处理,比如考虑一个简单地例子:我们在保存用户的登录密码的时候,都是需要将密码用某种方式加密过后在写入数据库的,我们难道在每一次在提交表单过来之后都对传过来的数据进行一次数据加密么?能不能有一种自动完成对密码入库前就加密的机制呢?这样我们在处理表单的时候就不用关心密码加密的问题了想一想我们在向用户展示的数据是不是基本上都是从数据库取的呢?那么往往我们会有很多的查询语句,在这样的情况之下很多的查询语句可以就会重复,但是在写代码这一行中,一旦出现多个重复,基本上就会有优化方式存在,所以这个时候queryScope就派上用场了之前,我们都是将published_at设置为文章创建的日期:$input['published_at']=Carbon:...

Laravel教程 六:表单 Forms

此文章为原创文章,未经同意,禁止转载。Formlaravel5.2之后请使用laravelcollective/html替换illuminate/html.出现问题先看评论。在开始之前,我们把界面先美化一点点先:首先到https://github.com/JellyBool/blog-css-js得到静态文件,然后分别修改下面三个文件:1.app.blade.php2.articles/index.blade.php3.articles/show.blade.php下面的视图代码的修改部分,如果你偷懒,你可以使用ctrl+c大法。在app.blade.php中:将原来@yield('content')的代码替换成下面的代码:<body><divclass="container"><sectionclass="content"><divclass="padgroup">@yield('content')</div></section></div></body>就是在外面多加了个div和一个se...
代码星球 代码星球·2020-04-02

Laravel教程 四:数据库和Eloquent

此文章为原创文章,未经同意,禁止转载。EloquentDatabase上一篇写了一些LaravelBlade的基本用法和给视图传递变量的几种方式,这一节我们来说说跟数据库打交道的数据库配置和Laravel强大的Eloquent。本部分内容为下节做准备Laravel的配置文件都是在项目目录的config/文件夹之下,这里也就是在blog/config文件夹之下,你可以打开这个文件夹看看,你面有很多配置文件:如mail.php(配置邮件发送服务的)和database.php(配置数据库的),我们这里就是来看看这个database.php配置文件:'connections'=>['mysql'=>['driver'=>'mysql','host'=>env('DB_HOST','localhost'),'database'=>env('DB_DATABASE','forge'),'username'=>env('DB_USERNAME','forge'),'password'=>env('DB_PASSWORD',''),'charset'=>...

Laravel教程 五:MVC的基本流程

此文章为原创文章,未经同意,禁止转载。Controller期间受到很多私事影响,终于还是要好好写写laravel的教程了。上一篇我们说了数据库Eloquent的基本用法,如计划一样,这一篇文章我们说说Laravel中Model,Controller,Views的工作流程,也就是下面这个顺序:1.注册路由--->2.创建控制器--->3.控制器中获取数据库数据--->4.在视图中展示数据英文的表达可能会更加贴切一点:1.registerroutes--->2.makeacontroller--->3.fetchdatafromdatabase--->4.loadaviewtodisplaydata在laravel中,最常见的流程就是这个样子的,我们在实现某个功能的时候,通常就是走上面的这个流程。比如我们这个blog项目中,我们需要实现下面的功能:1.展示所有的文章//blog首页2.展示一篇文章//文章详情页3.创建一篇文章//文章发布页面4.修改一篇文章//文章修改页面5.删除一篇文章//后台管理在这一篇文章中,我们集中精力解决一下第一个功能,所以...

Laravel教程 三:视图变量传递和Blade

此文章为原创文章,未经同意,禁止转载。Blade上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一篇的计划,来说说下面几个内容:向视图中传递变量Blade模板的用法我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleController 的 index方法的视图输出一个 $title 的变量,在Laravel中,有下面几种常见的方法:使用with()方法publicfunctionindex(){$title='文章标题1';returnview('articles.lists')->with('title',$title);}这样的 with('title',$title) 中,第一个 'title' 就是key,第二个 $title 就是值,这样我们就可以在我们的 articles/li...

Laravel教程 一:安装及环境配置

此文章为原创文章,未经同意,禁止转载。Homestead最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算有机会录视频教程放出来的,不过这个计划貌似由于某些原因必须得推迟一段时间,所以现在先把文章的系列教程写出来吧。首先需要说明的是,这个教程对于完全没有上手Laravel的人来说,我尽量将一些概念和重点说清楚,不过你也不需要担心这需要花很多时间来跟着这个教程学习Laravel,我相信,如果你认认真真跟着教程将代码敲过一遍,相信你对Laravel会有一个清晰的认识。开始之前:这个教程打算是每天一篇,首先是会涵盖很多Laravel的基础知识。然后我还打算出教程说说Laravel的Eloquent和它的一些棒的特性比如ScheduleCommand等,至于是博客的形式还是录视频的形式,后面看情况吧,所以现在是开始我们的Laravel教程了。这一节的内容:我首先会说明怎么安装Laravel说说Homestead这个开发环境本系列教材基于Laravel5.1稳定版恩,像几乎所有框架的开始一样,我们需要知道怎么安装Laravel。这里首推的是使用Com...

Laravel教程 二:路由,视图,控制器工作流程

此文章为原创文章,未经同意,禁止转载。ViewController上一篇教程我们走了那么长的路,终于把Laravel安装好了,这一篇教程我们就要进入Laravel的神奇世界了,主要是讲解Laravel的Router,Views,Controllers的工作流程,目的也就是让大家明白Laravel在处理一个get请求的时候是如何工作的。在开始之前,我们首先得将我们的服务器启动起来,如果你使用Laravel的artisan,你可以直接:phpartisanserve然后访问localhost:8000,就可以看到Laravel了我这里还是使用Homestead:homesteaduphomestead启动之后,我们就可以愉快开始写代码了。然后访问我们上一节设置好的域名:blog.dev,也可以看到我们的Laravel。如果你在安装或者使用Homestead的时候遇到任何问题,都可以直接问我。首先,对于一个新手来接触Laravel的时候,可能你会对Laravel的文件目录感觉到很困惑,因为实在是太多东西了,到底什么是Console,Events,Providers...一大堆东西在这里。但是...

Laravel 限流中间件 throttle 简析

  1.在Laravel中配置在appHttpKernel.php中,默认添加到中间件组api下,1分钟60次。 2.限流原理获取唯一请求来源,进行唯一标识(key)获取该请求请求次数(hits)判断是否超过最大限制若达到上限,进入5。未达到,则进入6丢出访问次数限制异常,结束请求。首先判断hits是否达到限制,若未达到,进入7。若达到,进入8。hits进行计数+1,更新到缓存中。若是第一次,则需要hits=1(次数), 并添加访问标识key(1分钟)到缓存中,以标记请求周期。请求次数已达到上限(hits>=60),此时需要判断是否在周期范围内(1分钟),若在周期内,进入9;不在周期内,进入10.此时请求处在“1分钟内请求次数达到60次”,即达到限制,返回false。此时请求处在“不在1分钟内请求次数达到60次”,即不在周期内,需要重新计算周期。3.代码实现3.1业务逻辑在 ThrottleRequests-> handle中实现。publicfunctionhand...

Laravel 项目集合

 1. CMSLaraCMS  https://github.com/wanglelecc/laracms2.电商 3. 点播 MeEdu    https://github.com/Qsnh/meedu 4.BBS5.聊天gaga  https://github.com/duckchat/gaga 持续更新,,,,,...
代码星球 代码星球·2020-04-02

Laravel 返回 JSON 格式

 第一种方法: 第一步、编写BaseRequest首先我们需要构建一个BaseRequest来重写IlluminateHttpRequest,修改为默认优先使用JSON响应:app/Http/Requests/BaseRequest.php<?phpnamespaceAppHttpRequests;useIlluminateHttpRequest;classBaseRequestextendsRequest{publicfunctionexpectsJson(){returntrue;}publicfunctionwantsJson(){returntrue;}}  第二步、替换BaseRequest在public/index.php文件中,将IllumiateHttpRequest替换为我们的BaseRequest,如下:$response=$kernel->handle($request=AppHttpRequestsBaseRequest::capture());   第二种方法:使用中间件namespaceAppHttpMiddlewa...
代码星球 代码星球·2020-04-02

laravel资源路由详解

大概挑两条解释。我定义了个资源路由http://yourdomain/article/create,就会访问到...
代码星球 代码星球·2020-04-01

laravel5】Carbon类

1、https://blog.csdn.net/zhezhebie/article/details/79386051toDateString()---输出格式为:2018-06-07toFormattedDateString()---输出格式为:Jun7,2018toTimeString()---输出格式为:07:39:02toDateTimeString()---输出格式为:2018-06-0707:39:02toDayDateTimeString()---输出格式为:Thu,Jun7,20187:39AMtoAtomString()---输出格式为:2018-06-07T07:39:02+00:00toCookieString()---输出格式为:Thursday,07-Jun-201807:39:02UTCtoIso8601String()---输出格式为:2018-06-07T07:39:02+00:00toRfc822String()---输出格式为:Thu,07Jun1807:39:02+0000toIso8601ZuluString()---输出格式为:2018-06-0...
IT猿 IT猿·2020-03-27

laravel5.5+Passport】laravel5的前后端分离之Passport设计

项目中使用到了laravel5的passport组件,进行前后端分离的api认证部分:前后端分离的api认证,我们用的是: 1、官方文档:https://learnku.com/docs/laravel/5.5/passport/1309#personal-access-tokens2、社区推荐文章:https://learnku.com/articles/6976/laravel-55-uses-passport-to-implement-auth-authentication#reply118969(推荐)3、错误解决文章:https://cloud.tencent.com/developer/ask/1996074、调试参考文章:https://learnku.com/laravel/t/22586 --postman一步一步来 4、目的,实现前后端分离api的token认证。5、其实我个人认为api认证这块没有第三方没必要用passport,jwt或者自定义token都可以,因为passport主要用于oauth2,也就是三方交互,而单纯的前后端分...

【Swoole】计一次swoole_server配合laravel5启动报错:Address already in use[98]

 [2019-11-11 11:42:25 @21371.0]WARNINGswSocket_bind(:434): bind(0.0.0.0:9501) failed, Error: Address already in use[98]In Swoole.php line 74:                                                 ...

原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现?首先,了解下CORS简单请求和复杂请求。     --CORS简单请求--链接:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS   1、ajax跨域,使用CORS方式 --  (ajax跨域会自动提交origin字段,用户不可伪造)2、HTML的js:</body><scripttype="text/javascript">$(function(){$(document).on("click",".btn-all2",function(){$.ajax({url:"http://t-local.*****.com/wechat/auth/up?call_back=http%3A%2F%2Ftest.*****.com%2Findex.php%3Fg%3DWeixin%26m%3D...
首页上一页...1920212223下一页尾页