
yii框架&&laraval框架
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
Laravel5.5+passport 放弃 dingo 开发 API 实战,让 API 开发更省心
Laravel5.5更新,通过Laravel5.5开发Api更加顺畅了,在这里就分享一下Laravel开发Api的经验吧1.封装返回的统一消息返回的自定义消息,和错误消息,我自己封装了一个Trait,用来做基本的返回,Trait的封装如下namespace App\Api\Helpers\Api;use Symfony\Component\HttpFoundation\Response as F...转载 2018-03-19 13:23:10 · 1442 阅读 · 0 评论 -
Magento路由分发过程解析(一):在前端控制器中获取路由对象
Magento的路由系统,需要考虑到两个抽象层。1,首先你需要了解,可能会有无数多个路由对象负责处理路由逻辑,最后只有一个路由对象能够获取并处理该请求。默认情况下,Magento拥有四个路由对象。2,在这四种路由对象内,又有一系列不同的规则用于匹配url地址到相应的控制器方法。这些规则非常相似,只有一些细微的差别。路由匹配迭代过程Magneto的路由开始于前端控制器对象的Mage_转载 2016-12-10 09:25:20 · 619 阅读 · 0 评论 -
HTTP 控制器
简介你可能更希望把请求处理逻辑交由控制器类来处理,而不是都交给一个routes.php 文件。控制器可以将相应的 HTTP 请求逻辑集合到一个类里面。控制器类一般存放在app/Http/Controllers 目录下。基础控制器如下是一个基础控制器类的例子。在 Laravel 的默认安装中,所有的控制器都继承了控制器基类。namespace Ap转载 2016-12-10 09:24:31 · 556 阅读 · 0 评论 -
Laravel 5.1 中的ACL用户授权及权限检查功能实现教程
1、引言Laravel提供的开箱即用的认证功能使得用户注册、登录、退出和密码重置变得便捷和简单。但是如果你需要控制访问站点特定部分,或者让非管理员打开/关闭特定页面,又或者确保某些用户只能编辑自己发布的东西(如文章),那么 你就需要引入类似BeatSwitch Lock这样的工具或者自己手动编写这样的功能。我们将这样的功能称之为ACL:Access Control Lists(访问控制转载 2016-12-09 15:06:19 · 1175 阅读 · 0 评论 -
Laravel 入门基础教程
1 前提条件本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验。不过,为了能顺利阅读,还是需要事先安装好一些软件:PHP 5.4 及以上版本包管理工具 Composer 。想深入了解 Composer,请阅读 Composer 指南 。官网:https://getcomposer.org/ , 中文网 : http://ww转载 2016-12-09 11:03:46 · 6224 阅读 · 0 评论 -
Laravel5做权限管理
关于权限管理的思考权限管理实质上分为两个部分,首先是认证,然后是权限。认证部分非常好做,就是管理员登录,记录session。这个laravel中也有自带Auth来实现这个。最麻烦就是权限认证。权限认证本质上就是谁有权限管理什么东西。这里有两个方面的维度,谁,就是用户维度,在用户维度,权限管理的粒度可以是用户一个人,也可以是将用户分组,如果将用户分组,则涉及到的逻辑是一个用户可以在多个组转载 2016-12-09 15:03:16 · 432 阅读 · 0 评论 -
使用Laravel5.1自带权限控制系统 ACL
Laravel在5.1.11版本中加入了Authorization,可以让用户自定义权限,今天分享一种定义权限系统的方法。1. 创建角色与权限表使用命令行创建角色与权限表:php artisan make:migration create_permissions_and_roles --create=permissions之后打开刚刚创建的文件,填入下面的代码:转载 2016-12-09 15:00:09 · 3242 阅读 · 3 评论 -
laravel使用Caching缓存数据减轻数据库查询压力
一. 实现首页的数据缓存,如果有没过期的缓存,就不查数据库,这样基本模拟出静态页的效果(当然了,其实还是要经过php处理的) 二. 实现刷新指定缓存的功能(这里只有首页,就单指刷新首页缓存了,这个功能,我做到了admin模块下 具体实现: 一. 查阅文档,找到能帮我实现需求的模块 我查了一下文档,发现了有Caching这样一转载 2016-12-09 14:45:52 · 3945 阅读 · 0 评论 -
[ Laravel 5.2 文档 ] 服务 —— 缓存
1、配置Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 目前支持主流的缓存后端如 Memcached 和 Redis 等。缓存配置文件还包含其他文档化的选项,确保仔细阅读这些选项。默认情况下,Laravel 被配置成使用文件缓存,这会将序列化数据和缓存对象存储到文件系转载 2016-12-09 14:25:58 · 676 阅读 · 0 评论 -
Laravel最佳分割路由文件(routes.php)的方式
前言Laravel 的路由功能很强大,默认都是定义在 routes.php 文件中,随着项目越来越大,我们需要的定义的路由越来越多,想象一下,如果几百上千个路由都定义在一个文件中,如何去维护?也许还有不同的人都在同一个文件定义路由,这就造成了冲突,因此我们需要分割 routes.php 文件。下面介绍一种很优雅的方式。在 app/Providers/RouteServiceProv转载 2016-12-05 20:53:02 · 1999 阅读 · 1 评论 -
Laravel框架路由配置总结、设置技巧大全
基本路由您的应用程序的绝大多数路由将在 app/routes.php 文件中定义。Laravel 中最简单的路由由一个 URI 和一个闭包调用组成。基本 GET 路由代码如下:Route::get('/', function(){return 'Hello World';});基本 POST 路由代码如下:Route::post('f转载 2016-12-10 10:24:34 · 4275 阅读 · 0 评论 -
PHP实现登陆表单提交CSRF及验证码
1、表单提交,并将其提交到本页(1) form 属性method为post方法,修改路由,使其接收post、get的请求Route::any('/admin/login','Admin\LoginController@login');(2)LoginController.php修改login方法,根据不同的请求返回不同的内容如果请求方法为get ,返回登陆页面;如果请求为pos转载 2017-02-07 16:34:44 · 897 阅读 · 0 评论 -
laraval中间件
在了解一些基础的laravel知识后,可以试着去了解laravel一些功能强大并且特有的知识点,比如中间件,那么官方给它的定义是:HTTP 中间件为过滤访问你的应用的 HTTP 请求提供了一个方便的机制。例如,Laravel 默认包含了一个验证用户的中间件。如果没有经过身份验证,中间件将会将用户重定向至登录页面。然而,如果用户经过了验证,中间件将会允许请求继续在应用中执行下去。个人理解是,中间件就转载 2017-02-15 08:49:38 · 812 阅读 · 0 评论 -
laravel5.2使用Captcha生成验证码(session巨坑)
最近有朋友要我帮忙弄一下laravel的验证码登陆,所以稍稍研究了一下。(本人都快忘了咋使用laravel了) 首先,安装laravel就不用在下赘述了吧,我的版本是5.2.45(注:laravel5.2.6以上的版本中间件可以自动加载),这还是挺重要的。 安装完成之后,你需要使用composer来加载你的Captcha,具体方法就是在你的composer.json中的require数原创 2018-01-03 11:16:46 · 2863 阅读 · 1 评论 -
laravel 使用mongodb数据库
1.安装mongodb下载包:wget http://fastdl.mongodb.org/lin...解压:tar zxvf mongodb-linux-x86_64-2.2.3.tgz移动目录到/usr/local/mongodb mv mongodb-linux-x86_64-2.2.3 /usr/local/mongodb进入mongodb目录转载 2017-09-29 13:36:23 · 4310 阅读 · 0 评论 -
Laravel 动态添加 Artisan 命令
虽然 Laravel 官方文档提供的添加 Artisan Command 的方法是直接修改 app/Console/Kernel.php 文件并在 $commands 属性中注册要添加的 Artisan 命名的类名(Laravel 服务容器会自动解析),但是,如果我们出现需要「动态(运行时)添加 Artisan 命令」的需求的话,就会很容易吃瘪。因为,Laravel 的文档(当然,我说的是官网转载 2017-07-31 19:11:08 · 2058 阅读 · 0 评论 -
使用 Laravel 数据填充功能生成中文测试数据
今晚……不对,是昨晚,折腾一个的小项目,发现自动填充的中文数据显示起来总不太美观,于是开始琢磨如何填充中文数据进行测试。然而一番搜索后惊奇的发现,官方、以及一些非官方的文档均未提及这一功能。期间看到一篇他人的“经验”文章,虽然可以实现这一需求,却要求修改 vendor 目录下 fzaninotto/Faker 包的源码,对于一个中了 Laravel 的“优雅之毒”的人来说,怎能容忍如此风骚转载 2017-07-07 16:06:14 · 1977 阅读 · 0 评论 -
Laravel+OSS使用笔记
关于对象存存储什么是对象存储对象存储,也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。为什么使用对象存储对象存储是云服务提供商面向企业和个人开发者提供的高可用,高稳定,强安全的云端存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。什么是OSS阿里云对象存储服务(Object Stor转载 2017-07-07 16:04:35 · 1569 阅读 · 0 评论 -
Yii控制器直接校验系统验证码
yii1 自带验证码,通常都是在model validate验证的。有时觉得那样太麻烦,直接在控制器验证。使用下面方法就行了。$verifyCode = CHtml::encode($this->_request->stripSlashes(trim($this->_request->getParam( 'verifyCode' ))));$captcha = Yii::app()->get转载 2017-06-30 16:32:08 · 412 阅读 · 0 评论 -
laravel session的使用
用Laravel开发应用,把原有的代码copy过来,以前的代码session使用了$_SESSION,本以为移植过来可以很好的运行的,因为没有依赖其他的组件,结果出现了这个Undefined variable: _SESSIONLaravel的session的配置文件配置在 app/config/session.php 中,使用时可以看看 session 配置文件中可用的选项设定及转载 2017-04-05 11:19:00 · 981 阅读 · 0 评论 -
laravel5.1 session flash(信息闪存) 应用
什么是 flash message , flash , 闪烁,稍纵即逝,message ,消息。大概其直译就是“闪信”,其原先是出自 rails 的,用于在页面上显示一些提示信息。在 Laravel 里引入这个概念,对页面上需要的信息做一个提示。当用户在你的网站上做了什么行为之后,你要对其行为做一个响应回复。比如注册了,那你得提示“注册成功”,不是 js alert() 的效果,但是 alert(转载 2017-04-05 11:17:04 · 1953 阅读 · 0 评论 -
Yii2中多表关联查询hasOne hasMany
表positionContentidposition_idcontent_titlecontent_idis_recommendlist_sortupdate_timecreate_time1014大成成长160910112017-02-09 11:51:562017-02-09 11:51:56转载 2017-02-15 16:49:38 · 697 阅读 · 0 评论 -
PHP 安全三板斧:过滤、验证和转义之转义篇 & Blade模板引擎避免XSS攻击原理探究
PHP转义实现把输出渲染成网页或API响应时,一定要转义输出,这也是一种防护措施,能避免渲染恶意代码,造成XSS攻击,还能防止应用的用户无意中执行恶意代码。我们可以使用前面提到的htmlentities函数转移输出,该函数的第二个参数一定要使用ENT_QUOTES,让这个函数转义单引号和双引号,而且,还要在第三个参数中指定合适的字符编码(通常是UTF-8),下面的例子演示了如何在渲转载 2016-12-05 11:02:07 · 1244 阅读 · 0 评论 -
yii2过滤xss代码,防止sql注入教程
实际开发中,涉及到的语言也好,框架也罢,web安全问题总是不可避免要考虑在内的,潜意识中的考虑。意思就是说喃,有一条河,河很深,在没办法游过去的情况下你只能沿着河上唯一的一座桥走过去。好啦,我们看看在yii框架的不同版本中是怎么处理xss攻击,sql注入等问题的。啥啥啥,xss是啥,sql注入又是啥?哦我的天呐,不好意思,我也不知道,这个您问问小度小哥都行,随您。通俗的说喃,就是两转载 2016-12-05 10:38:11 · 2145 阅读 · 0 评论 -
PHP程序守护进程化
一般Server程序都是运行在系统后台,这与普通的交互式命令行程序有很大的区别。glibc里有一个函数daemon。调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见man daemon。PHP中暂时没有此函数,当然如果你有兴趣的话,可以写一个PHP的扩展函数来实现。PHP命令行程序实现守护进程化有2种方法:一 、使用nohupnohup php myprog.php转载 2016-11-04 14:30:03 · 261 阅读 · 0 评论 -
PHP 高级编程之多线程
1. 多线程环境安装1.1. PHP 5.5.9安装PHP 5.5.9https://github.com/oscm/shell/blob/master/php/5.5.9.sh./configure --prefix=/srv/php-5.5.9 \--with-config-file-path=/srv/php-5.5.9/etc \--转载 2016-11-04 14:28:58 · 5285 阅读 · 0 评论 -
PHP高级编程之消息队列
1. 什么是消息队列消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式2. 为什么使用消息队列消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读出。通过消息队列,应用程序可独立地执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息转载 2016-11-04 14:27:09 · 25333 阅读 · 0 评论 -
PHP高级编程之守护进程,实现优雅重启
1. 什么是守护进程守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。例如 apache, nginx, mysql 都是守护进程2. 为什么开发守护进程很多程序以服务形式存在,他没有终端或UI交互,它可能采用其他方式与其他程序交互,如TCP/UDP Socke转载 2016-11-04 14:24:42 · 4751 阅读 · 0 评论 -
php写守护进程(Daemon)
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。PHP也可以实现守护进程的功能。 1、基本概念 进程 每个进程都有一个父进程,子进程退出,父进程能得到子进程退出的状态。 进程组 每个进程都属于一个进转载 2016-11-04 14:12:38 · 501 阅读 · 0 评论 -
什么是带宽
在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。对于带宽的概念,比较形象的一个比喻是高速公路。单位时间内能够在线路上传送的数据量,常用的单位是bps(bit per second)。计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特。 一般来说,带宽是以 bit(比特)表示,而电信,联通,移动等运营商在推广的时候往往忽略了这个单位。正常换算情况如下:转载 2016-11-04 13:45:52 · 5424 阅读 · 0 评论 -
Myisam和innodb的区别
Myisam和innodb的区别?MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就原创 2016-11-04 10:27:47 · 200 阅读 · 0 评论 -
为什么不能再where语句中使用聚合函数
1.问题描述select deptno ,avg(sal) from emp where count(*)>3 group by deptno; 在where 句中使用聚合函数count(*),报出错误:ORA-00934: group function is not allowed here那是为什么呢?2.问题解决:大致解释如下,sql语句的执行过程是:from-->where转载 2016-11-04 10:23:02 · 4931 阅读 · 2 评论 -
瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别
标签:瀑布式开发、迭代开发,区别【都属于,生命周期模型】 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说。 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。我现在从事的外包项目就是这样的转载 2016-11-03 21:30:27 · 625 阅读 · 0 评论 -
如何将我的php脚本以守护进程的方式一直运行
写好php脚本。建议定期检测内存占用,核心逻辑就不写了。这个跟业务有关。if(memory_get_usage()>100*1024*1024){ exit(0);//大于100M内存退出程序,防止内存泄漏被系统杀死导致任务终端}假设该php文件的路径为/root/run.php打开终端setsid php /root/run.php > /dev/null &编辑进程监控转载 2016-11-04 14:31:20 · 2639 阅读 · 0 评论 -
PHP高级编程实例:编写守护进程
1.什么是守护进程守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。例如 apache, nginx, mysql 都是守护进程2.为什么开发守护进程很多程序以服务形式存在,他没有终端或UI交互,它可能采用其他方式与其他程序交互,如TCP/UDP Socket, UNIX So转载 2016-11-04 14:33:25 · 571 阅读 · 0 评论 -
时间戳
时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。定义编辑时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。分类编辑1.自建时间戳:此类时间戳是通过时间接收设备(如GPS,CDMA,北斗卫星)来获取时间到时间戳服务转载 2016-11-05 10:36:08 · 6216 阅读 · 0 评论 -
sql小习题
1.创建一张学生表,包含学号,姓名,性别,家庭住址,联系电话信息create table students(id int primary key AUTO_INCREMENT,n_um int,age char,sex char,address char,telphone CHAR)2.修改学生表结构,增加学历字段alter table students a原创 2016-11-04 10:31:22 · 464 阅读 · 0 评论 -
char、varchar、text、ntext、bigint、int、smallint、tinyint和bit的区别及数据库的数据类型
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有9转载 2016-11-05 10:33:58 · 1327 阅读 · 0 评论 -
软件工程之软件开发模型类型
软件工程之软件开发模型类型1.边做边改模型2.瀑布模型3.演化模型4.增量模型5.螺旋模型6.喷泉模型7.敏捷模型-SCRUM各种模型的优点和缺点 瀑布模型 文档驱动 系统可能不满足客户的需求 快速原型模型 关注满足客户需求 可能导致系统设计差、效率低,难于维护 增量模型 开发早期反馈及时,易于维护 需要转载 2016-10-31 11:49:46 · 602 阅读 · 0 评论 -
软件开发中的详细设计
传统软件开发中的详细设计:模块内的数据结构进行设计。比如模块中类、结构体的设计对数据结构进行物体设计。比如数据库表的设计,文件存储的设计,文件存储目录的设计每个模块进行详细算法设计。比如每个方法的实现算法,对方法的实现画出流程图编写详细设计说明书。详细说明每个方法的输入和输出。详细设计评审报告。现在公司都使用敏捷开发,认识敏捷开发:以用户需求进化为核心采用迭代、循序渐进的方转载 2016-10-31 11:47:59 · 2534 阅读 · 0 评论