自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)

原创 如何让laravel框架下出现vender文件夹

在文件根目录下直接输入 composer install,有时候会没有效果,需要检查一下是不是别的原因方法一、去php.ini中查看下面三个扩展项是否开启extension=php_fileinfo.dllextension=php_mbstring.dllextension=php_openssl.dll修改php.ini没必要重启服务器。方法二、在文件根目录下 输入composer updat...

2018-04-26 16:19:26 1889

转载 PHP团队 编码规范 & 代码样式风格规范

一、基本约定1、源文件(1)、纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> ;(2)、源文件中PHP代码的编码格式必须是无BOM的UTF-8格式;(3)、使用 Unix LF(换行符)作为行结束符;(4)、一个源文件只做一种类型的声明,即,这个文件专门用来声明Class, 那个文件专门用来设置配置信息,别混在一起写;2、缩进使用Tab键来缩进,每个Tab键长度设置为4...

2018-03-04 12:58:03 202

转载 api接口

在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。验证原理示意图原理从图中可以看得...

2018-02-27 11:26:10 937

转载 如何写出安全的API接口

通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出。对于安全也是相对的,下面我来根据安全级别分析 1.完全开放的接口有没有这样的接口,谁都可以调用,谁都可以访问,不受时间空间限制,只要能连上互联网就能调用,毫无安全可言。实话说,这样的接口我们天天都在接触,你查快递,你查天气预报,你查飞机,火车班次等,这些都是有公共的接口。我把这称之为裸...

2018-02-26 19:59:48 845

转载 Nosql-------mongdb

初识MongoDB1.简介       MongoDB属于NoSql的一种,且是属于NoSql中的基于分布式文件存储的文档型数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。        MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson(是一种类json的一种...

2018-02-23 15:48:42 120

转载 nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景?

1.mongodb(1)是文档型的非关系型数据库,使用bson结构。其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存。(2)一般可以用来存放评论等半结构化数据,支持二级索引。 适合存储json类型数据,不经常变化。(3)举例:a.网站数据:非常适合实时的插入、更新、查询;b.缓存:其搭建的持久化缓存层可以避免下层的数据源过载;c.用于对象及JSON数据的存储:Mongo 的BSON ...

2018-02-23 14:55:28 951

转载 mysql事务介绍及原理

1 为什么要事务  事务是一组不可被分割执行的SQL语句集合,如果有必要,可以撤销。银行转账是经典的解释事务的例子。用户A给用户B转账5000元主要步骤可以概括为如下两步。   第一,账户A账户减去5000元;   第二,账户B账户增加5000元;   这两步要么成功,要么全不成功,否则都会导致数据不一致。这就可以用到事务来保证,如果是不同银行之间的转账还需要用到分布式事务。2 事务的性质  事务...

2018-02-23 08:50:27 161

转载 对接口的一点理解

一、定义接口: 接口分为两种:一种是数据型接口,一种是应用型接口。 数据型接口:是比抽象类更抽象的某种“结构”,它不是类,但是跟类有一样的结构规范,规范我们接口要以什么格式进行定义,一般用于团队比较大,分支比较多的情况下才使用。 应用型接口:就是API数据对外访问的一个入口。客户端需要什么样的数据,我们就提供相应的数据,并且配以相应的接口文档。二、特点: 1、接口的方法必须是公开的。  2、接口...

2018-02-09 15:26:51 1503

原创 对oop的一点理解

软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题。需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性、可维护性和可扩展性。我们需要保证代码具有高内聚低耦合。四大基本特性: 抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不同的需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象...

2018-02-09 14:26:29 302

原创 laravel框架的特点(5.3)

Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟...

2018-02-09 14:17:05 1204

原创 yii框架的特点

1.直接使用crud生成,然后根据自己需要的功能修改下就ok2.两个表关联模型,当数据表设置了外键之后,yii2在生成model时候,自动会添加关联关系3.比如你要添加产品的同时,还需要添加多个图片到产品图片数据表这个在yii2非常简单,你只需要处理下post数据就ok4.使用下yii一个arrelation扩展,就可以在执行$product->save()方法时候,自动添加productI...

2018-02-09 14:11:58 424

原创 thinkphp的特点

高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性。1.视图模型:轻松动态地创建数据库视图,多表查询不再烦恼。2.关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作3.模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的模板标签,融合了Smarty和JSP标签库的思想,支持标签库扩展。通过驱动还可以支持Smarty、EaseTe...

2018-02-09 14:08:57 1366

转载 laravel高级应用

服务提供者是什么?服务提供者是所有 Laravel 应用程序引导启动的中心, Laravel 的核心服务器、注册服务容器绑定、事件监听、中间件、路由注册以及我们的应用程序都是由服务提供者引导启动的。IoC 容器是什么?IoC(Inversion of Control)译为 「控制反转」,也被叫做「依赖注入」(DI)。什么是「控制反转」?对象 A 功能依赖于对象 B,但是控制权由对象 A

2018-02-07 11:17:15 392

转载 laravel框架中所用到的依赖注入

依赖注入就控制反转的一种是实现方式,面向对象的特征的重要体现,那么依赖注入中什么是依赖呢,这点用Java开发的人很多都能理解。笼统的说依赖就是一种联系,变量和实现的联系。有关于依赖注入的理解之前写过,传送门:http://www.cnblogs.com/Summer7C/p/5415887.html接下来说说Laravel中的依赖注入。之前就听说Laravel的特点中依赖注入就是其中之一,

2018-02-07 11:16:42 144

转载 laravel高级应用---Eloquent

集合对象检测一个集合是否包含一个键(contains)?12$roles = User::find(1)->roles;if($roles->contains(2)) {}集合 转 数组 或 JSON(toArray|toJson)转换?

2018-02-07 10:59:51 304

转载 laravel----高级应用---Artisan

一、概述  Artisan是Laravel中自带的命令行工具的名称  由强大的Symfony Console组件驱动  提供了一些对应用开发有帮助的命令二、使用帮助  查看所有可用的Artisan的命令  php artisan  php artisan list  查看命令帮助 help    php artisan help migrate三、基

2018-02-07 10:46:22 160

转载 Yii框架的优点

1. 易于安装对于web开发人员来说,时间就是金钱,没有人愿意把宝贵的时间花在一个复杂的安装和配置过程。安装处理使用Composer。如果你想要描述安装的过程,Sitepoint最近发表了一篇很棒的文章,在这儿。我倾向于使用基本的应用程序模板,即使我的网站有一个单独的前端和后端组件。相反,我选择使用一个模块给我的网站的后台部分。(Yii模块是最好的描述,小应用驻留在主应用程序里面)。注

2018-02-07 10:41:33 2922

转载 ThinkPHP5 与 ThinkPHP3.* 之间的使用差异

1、过去的单字母函数已完全被替换掉,如下:S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action2、模版渲染:$this->display() => return view()/return $this->fetch();3、在model中调用自身model

2018-02-07 09:43:57 296

转载 TP5与TP3.X对比

首先声明本章节并非是指导升级旧的项目到5.0,而是为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本。同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本。需要摒弃的3.X旧思想URL的变动首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过‘get’获取到‘id’的方法,严格来讲这样的url是不属于$

2018-02-07 09:40:25 124

转载 Api接口-------优化

造成执行效率低的原因可以由很多方面找原因从代码层面,代码质量低,执行效率也会有很大影响的。从硬件方面,服务器配置低,服务器配置是基础,这个跑不动肯定慢。从数据量方面,查询数据量过多,sql语句过于繁杂,执行缓慢。服务器从配置上做提升,对于系统整体的执行效率是相当明显的,这一点没有什么好质疑的,只要有实力,自然就可以多在这方面做提升了。数据查询这个查询的优化,涉及

2018-02-05 19:15:30 1204

转载 消息队列的使用场景

作者:ScienJus链接:https://www.zhihu.com/question/34243607/answer/58314162转自知乎消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,

2018-02-01 11:32:26 95

转载 GIT常见冲突解决

冲突的产生很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突。而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突。git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突。当然git rebase就更不用说了。冲突的类型 逻辑冲突

2018-01-31 15:52:15 117

转载 PHP中几种设计模式

五种常用的设计模式:1、单例模式2、工厂模式3、观察者模式4、命令链模式 5、策略模式(1)单例模式:单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个 实例,而且自行实例化并向整个系统提供这个实例。一个类在整个应用中,只有一个对象实例的设计模式 类必须自行创建这个实例必须自行向整个系统提供这个实例 三私:私有静态成员变量、构造函数、克隆

2018-01-31 14:43:50 91

原创 对于MVC的理解

MVC(Model-View-Controller),即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。视图(View):代表用户交互界面,MVC设计模式对于视图的处理是限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。模型(Model):业务流程/状态的处理以及业

2018-01-31 13:59:21 164

原创 对用过的PHP框架的一点了解

在开发过程中,我主要使用过了这么几种框架。thinkPHP框架、CI框架,laravel框架和yii框架。我接触到的第一个框架是TP框架,我简单的说下我对这几个框架的看法:ThinkPHP框架  优点: TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需一个入口文件,一切搞定,简单高效,中文文档齐全,入门超级简单。自带模板引擎,具有独特的数据验证和自动填充功能

2018-01-31 13:49:07 154

转载 sphinx的部署与使用

1、下载软件,解压后,拷贝到指定的目录  下载 http://www.coreseek.com/ 地址2、建立一个sphinx的配置文件。3、建立索引分为三步走:      配置数据源   配置索引  配置服务器端的信息。(1)配置数据源(固定的某个表的数据)语法:source   数据源的名字在一个配置文件中,可以配置多个数据源的。

2018-01-30 20:22:14 532

转载 关于sphinx的一点了解

一、什么是sphinxsphinx是SQL Phrase Index(查询词组索引)的缩写,Sphinx是一个基于sql的全文检索引擎Sphinx  全文检索引擎Coreseek 支持中文的全文检索引擎1.sphinx的机制两部分构成:生成索引+search索引 2.sphinx索引类型:普通索引+rt实时索引+分布式索引二、sphinx优缺点优点:1.高速的建立索

2018-01-30 19:42:37 11222

转载 PHP使用三种方法实现数据采集

什么叫采集?就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。 PHP制作采集的技术:从底层的socket到高层的文件操作函数,一共有3种方法可以实现采集。1. 使用socket技术采集:socket采集是最底层的,它只是建立了一个长连接,然后我们要自己构造http协议字符串去发送请求。2. 使用curl_一套函数curl把HTTP协议都封

2018-01-29 18:57:05 558

转载 Nosql技术---------memcache缓存

MemCache是什么?MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果

2018-01-29 18:28:54 193

转载 Nosql-------redis缓存技术学习

1 什么是redisredis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样

2018-01-29 16:35:18 985 1

转载 几种Nosql数据库对比

Redis所用语言:C/C++特点:运行异常快使用许可: BSD协议:类 Telnet有硬盘存储支持的内存数据库,但自2.0版本以后可以将数据交换到硬盘(注意, 2.4以后版本不支持该特性!)Master-slave复制(见编注3)虽然采用简单数据或以键值索引的哈希表,但也支持复杂操作,例如 ZREVRANGEBYSCORE。INCR & co (适合计算极限值或统计数据)支持 sets(

2018-01-29 16:17:30 207

转载 单点登录

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。一、什么情况下使用缓存当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返 回给用户一个认证的凭据--ticket;用户再访问

2018-01-29 15:40:23 55

转载 第三方登录技术

一. 什么是第三方登录  所谓的第三方登录,是说基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。而这里的第三方平台,一般是已经拥有大量用户的平台,国外的比如Facebook,Twitter等,国内的比如微博、微信、QQ等。二. 为什么要用第三方登录  第三方登录之所以会被较为广泛地在产品设计上使用,是因为它有以下几个优点:   (1)对普通用户  

2018-01-29 14:28:16 883

转载 关于跨域和jsonp的一些理解(新手向)

一、为什么要跨域跨域,通常情况下是说在两个不通过的域名下面无法进行正常的通信,或者说是无法获取其他域名下面的数据,这个主要的原因是,浏览器出于安全问题的考虑,采用了同源策略,通过浏览器对JS的限制,防止恶意用户获取非法的数据。比如这样的一个场景,恶意用户仿造一个银行的官网,在用户输入框中嵌套了银行的页面,如果是没有同源策略的限制,那么恶意用户则可以通过这样的一种方法来获取银行用户的卡号和登录密

2018-01-29 09:50:49 224

转载 MYSQL-------索引

1、索引是什么  索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。  可以理解为“排好序的快速查找数据结构”  在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,  这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。2、优势  类似大学图书馆建书目索引,提高数据检索

2018-01-28 15:40:02 94

转载 web服务器-------动静分离

一、静态页面静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低),例如:首页等html页面js/css等样式文件jpg/apk等资源文件二、动态页面动态页面,是指互联网架构中,不同用户不同场景访问,都不一样的页面,例如:百度搜索结果页淘宝商品列表页速运个人订单中心页这些页面,不同用户,不同场景访问,大都会动态生成不同的页面。动态页面,有

2018-01-27 16:30:31 2515

转载 web服务器-------负载均衡

为什么要实现服务器集群?实现服务器集群主要就是为了负载均衡(Load Balance)——有两台或者以上的服务器或者站点提供服务,服务将来自客户端的请求,靠某种算法,去尽量平分请求到集群的机器中,从而避免一台服务器因为负载太高而出现故障,而即使其中某个机器出现故障,负载均衡会自动规避选择,使得用户也能正常访问服务。一、几个基本概念1、pv 值pv 值(page views)

2018-01-27 10:04:55 499

转载 mysql优化---------读写分离

一 什么是读写分离MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中 的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。  二 读写分离的好处1.增加冗余 2.增加了机器的处理能力 3....

2018-01-26 20:26:54 83

转载 Linux中常用操作命令

Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p    ...

2018-01-26 11:05:45 56

原创 laravel框架的安装和配置

首先我们可以先了解一下关于laravel框架,它是一个既简洁又强大的框架,它的中文官网是http://www.golaravel.com/1.composer的安装和部署安装laravel不得不提到composer,往往是通过composer 安装的,composer的官网是https://getcomposer.org,进入页面之后,点击download进入页面之

2017-12-27 09:51:03 889 1

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除