php理论
Sunssai
php程序猿
展开
-
PHP设计模式-工厂模式
概念工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤。很多高级模式都是依赖于工厂模式。好处PHP中能够创建基于变量内容的类的新实例,减少主代码流中的基于条件复杂性;同时如果类发生改变不需要所有的地方进行修改,只需要在工厂中进行修改(无论对象被修改或者添加其他对象,Factory对象调用方式仍让是相同的)(集中实例化)应用场景做支付接口的时候,未...原创 2018-11-30 19:09:15 · 128 阅读 · 0 评论 -
php面试理论之精选
1.请自我介绍一下?答:我叫 xxx,来自北京,20xx 年毕业于 xx 大学计算机 xx 系,毕业后在武汉从事了 x 年的 php 开发工作,公司是一个外包公司,主要做微信开发,公众号推广,商城,论坛的开发2.你在公司负责那些项目?答:由于我们公司是一个外包公司,不可能只做一个项目,公司的项目都是交叉进行的,论坛,微信,商城我都做过?3.你为什么来深圳?答:因为我哥...原创 2019-01-10 19:33:24 · 679 阅读 · 0 评论 -
php面试题汇总(必会)
详细可参考:https://blog.csdn.net/qq_34306360/article/details/79187075 1、酒店预订怎么实现?怎么设计表 你好,我大概的说下我们的业务流程,我们的业务流程是:用户在网站浏览酒店信息,可以根据地区检索出该地区的酒店信息。列表展示酒店的信息由:酒店的名称,酒店图片,酒店位置,评论人数,评论分数以及最低入住价格。用户选中要入住的酒店进...转载 2019-01-11 19:38:54 · 1719 阅读 · 0 评论 -
InnoDB与Myisam储存引擎及使用场景
InnoDB存储引擎InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。InnoDB主要特性有:1、InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事物安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。...原创 2019-01-11 19:55:51 · 675 阅读 · 0 评论 -
缓存雪崩 缓存穿透 是什么 以及如如何预防
转载:https://blog.csdn.net/fei33423/article/details/79027790一.缓存穿透: 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 解决办法: 1.布隆过滤 对所有可能查询的参数以hash...转载 2019-01-13 14:10:51 · 630 阅读 · 0 评论 -
es的简述
ES6ES6的了解es6是一个新的标准,它包含了许多新的语言特性和库,是JS最实质性的一次升级。比如’箭头函数’、’字符串模板’、’generators(生成器)’、’async/await’、’解构赋值’、’class’等等,还有就是引入module模块的概念。箭头函数 箭头函数需要注意的地方可以让this指向固定化,这种特性很有利于封装回调函数(1)函数体内的this对象,就...原创 2019-01-13 20:38:38 · 174 阅读 · 0 评论 -
mysql之三范式简述
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。一般说来,数据库只需满足第三范式(3NF)就行了。下面用画图方式简单介绍下前三范式1NF:无重复的列,每一列都是不可分割的基本数据项,同一 列中不能有多个值,即实体中的某个属性不能有多个值或者不 能有重复的属性。除去同类型的字段...原创 2019-01-14 18:52:54 · 15392 阅读 · 3 评论 -
消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注...原创 2019-01-14 20:55:37 · 477 阅读 · 0 评论 -
面试中sql语句优化总结话术
我在对项目进行优化的时候,也是经常会都对sql语句进行优化,因为一个sql语句的执行速度,会影响我们的页面加载速度,以及对数据库的操作速度,在这里我会使用我们的慢查询日志来查看sql语句的执行之间,使用我们的一个方法在sql语句前加上explain可以通过其中的type来查看我们sql语句的状态从而进行优化, 首先我会对查询的sql语句进行优化,尽可能避免一些对全表进行搜索的语句,考虑使用...原创 2019-01-16 07:56:20 · 1265 阅读 · 0 评论 -
git与svn的简介与区别
目录: SVN与Git比较(一)集中式vs分布式 SVN与Git比较(二)版本库与工作区 SVN与Git比较(三)全局版本号和全球版本号 SVN与Git比较(四)部分检出 SVN与Git比较(五)更新和提交 SVN与Git比较(六)分支和里程碑的实现 SVN与Git比较(七)分支与合并 SVN与Git比较(八)...原创 2018-12-29 08:59:00 · 4830 阅读 · 0 评论 -
Ajax缓存原理
一、什么是Ajax缓存原理Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。当前这要求两次请求URL完全相同,包括参数。这个时候,浏览器就不会与服务器交互。关于Ajax的更多内容请参考《Ajax简介》二、Ajax缓存的好处这种设计使客户端对一些静态页面内...原创 2018-12-03 10:32:38 · 150 阅读 · 0 评论 -
curl进行传值 之(post)
<?phpheader("content-type:text/html;charset=utf-8");function curlPost($url,$data='',$method){ $ch = curl_init(); //1.初始化 curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址 curl_setopt($...原创 2018-11-14 16:30:33 · 3478 阅读 · 0 评论 -
php 中常见的header头
/ ok 正常访问header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在header('HTTP/1.1 200 OK'); //设置地址被永久的重定向 301header('HTTP/1.1 301 Moved Permanently');//跳转到一个新的地址header('Location: http://php.itcast.cn/');...原创 2018-11-15 11:38:31 · 144 阅读 · 0 评论 -
计算机编程之Ascll码
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 、 1 SOH 33 ! 65 A 97 a 2 STX 34 " 66 B 9...原创 2018-11-13 08:13:13 · 1112 阅读 · 0 评论 -
HTTP 状态码
200 – 服务器成功返回网页301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。403 (禁止) 服务器拒绝请求404 – 请求的网页不存在503 – 服务不可用常见HTTP状态码大全1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明htt...原创 2018-11-12 21:17:37 · 159 阅读 · 0 评论 -
php 之数组函数
array() 创建数组。 array_change_key_case() 把数组中所有键更改为小写或大写。 array_chunk() 把一个数组分割为新的数组块。 array_column() 返回输入数组中某个单一列的值。 array_combine() 通过合并两个数组来创建一个新数组。 array_count_values() 用于...原创 2018-11-12 21:12:37 · 168 阅读 · 0 评论 -
php 之九大超全局变量
$GLOBALS $_SERVER $_GET $_POST $_FILES $_COOKIE $_SESSION $_REQUEST $_ENV原创 2018-11-13 11:44:55 · 283 阅读 · 0 评论 -
php 之 字符串函数
addcslashes() 返回在指定的字符前添加反斜杠的字符串。 addslashes() 返回在预定义的字符前添加反斜杠的字符串。 bin2hex() 把 ASCII 字符的字符串转换为十六进制值。 chop() 删除字符串右侧的空白字符或其他字符。 chr() 从指定的 ASCII 值返回字符。 chunk_split() 把字符串分割...原创 2018-11-12 21:11:25 · 143 阅读 · 0 评论 -
php实现伪静态以及定义原理
伪静态是什么:网站分为动态网站和静态网站,我们常见的以html结尾的一般都是静态页面,以.php.asp结尾的页面一般是动态网站,动态网站是有和数据库进行交互才被称为动态网站,动态网站由于不容易被搜索引擎搜录所以才有了伪静态这么一说,伪静态顾名思义就是假的静态网站,也就是说动态网站为了方便被搜索引擎收录,利用服务器的rewirte实现的假静态的过程。首先说明一下伪静态的好处好不足之处,好处...原创 2018-11-30 20:29:04 · 3297 阅读 · 0 评论 -
mysql中explain的使用及介绍
mysql explain用于分析sql 语句的执行及数据库索引的使用。本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌握explain用法技巧。如果你在看其他教程或视频后仍觉得云里雾里。那么请通读本文。用法explain的用法相当简洁,直接在sql语句前加上EXPLAIN 即可,例如:EXPLAINselect * FROM ec_stores_inf...原创 2019-01-16 10:07:17 · 363 阅读 · 0 评论