PHP
文章平均质量分 59
我是纯豆腐
努力学习,克服自己的坏毛病,向着大牛看齐
展开
-
接口和抽象类的异同及适用场景
不同点语法上的不同,对接口的使用是通过关键字implements,定义是使用关键字interface;对抽象类的使用是通过关键字extends(当然接口也可以通过关键字extends继承),定义是使用关键字abstract class。接口只有常量和方法,抽象类则包含普通类中的一切机构。接口中的方法都必须是public类型的,而抽象类则不受限制。一个类可以同时实现多个接口,但...转载 2020-01-10 10:28:39 · 225 阅读 · 0 评论 -
PHP消息队列实现及应用
目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消息队列的思路进行学习。主要了解如下知识: 1、队列是个什么东西,他能干什么? 2、...转载 2019-10-16 16:59:48 · 571 阅读 · 0 评论 -
PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
如今在电商行业里,秒杀抢购活动已经是商家常用促销手段。但是库存数量有限,而同时下单人数超过了库存量,就会导致商品超卖甚至库存变负数的问题。又比如:抢购火车票、论坛抢楼、抽奖乃至爆红微博评论等也会引发阻塞式高并发问题。如果不做任何措施可能在高瞬间造成服务器瘫痪,如何解决这个问题呢?这里提出个人认为比较可行的几个思路方法:方案一:使用消息队列来实现可以基于例如MemcacheQ等这样的消息队列...转载 2019-10-07 18:01:08 · 257 阅读 · 0 评论 -
PHP的三种HTTP请求方式
stream_context_create1、curl仍然是最好的HTTP库,没有之一。 可以解决任何复杂的应用场景中的HTTP 请求2. 文件流式的HTTP请求比较适合处理简单的HTTP POST/GET请求,但不适用于复杂的HTTP请求3. PECL_HTTP扩展写代码更加简洁,省事, 但成熟度不好,编程接口不统一,文档和实例匮乏。PHP模拟发送HTTP请求:1、fil...原创 2019-07-30 09:44:57 · 441 阅读 · 0 评论 -
ThinkPHP5.*使用PHPMailer发送邮件的使用及发送失败解决办法
1.安装:composer require phpmailer/phpmailer2.引入:use PHPMailer\PHPMailer\PHPMailer;(composer安装不需要引入)3.调用:$mail = new PHPMailer ();写一个方法调用发送文件接口/** * 系统邮件发送函数 * @param string $tomail 接收邮件者邮箱 *...原创 2019-04-26 17:21:33 · 1983 阅读 · 0 评论 -
php设计模式总结-工厂模式
使用工厂模式的目的或目标?工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。假设不使用工厂模式:那么很多地方调用类a,代码就会这样子创建一个实例:new a(),假设某天需要把a类的名称修改,意味着很多调用的转载 2017-10-12 17:14:22 · 208 阅读 · 0 评论 -
什么是闭包?
闭包介绍基础概念什么是闭包?简单来说,闭包是指可以访问另一个函数作用域变量的函数,一般是定义在外层函数中的内层函数。为什么需要闭包?局部变量无转载 2017-09-29 17:34:45 · 256 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 一、百万级数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 ord转载 2017-10-26 17:26:04 · 330 阅读 · 0 评论 -
PHP浏览器和命令行版本不同(Windows/PhpStudy)
Q:使用phpstudy切换PHP版本后重启PHPstudy, 此时phpstudy提示是已选择版本(PHP7.0);通过访问phpinfo()也是该版本;通过命令行php -v 得出的仍是之前版本(PHP5.4);A1:以为是有XAMPP干扰,导致PHPstudy没有修改配置成功,关闭XAMPP,将PHPstudy检测端口后重启====》问题仍存在 A2:重启电脑====》问题仍存在 A3:灵光...转载 2018-06-27 17:51:55 · 963 阅读 · 0 评论 -
jquery ajax error函数和及其参数详细说明
使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细的说明了ajax中error函数和函数中各个参数的用法。一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown)。常见调用代码如下: $.ajax({ url: '/H...转载 2018-06-28 17:38:56 · 409 阅读 · 0 评论 -
https跨域请求http数据
A站:https://www.aaa.comB站:http://www.bbb.com直接用ajax跨域请求返回数据因为不是https协议网站 ( B站没有https证书 ) 返回的数据或资源所以会被A站拦截阻挡,自己想到解决办法写一个API做中转数据,在A站内些一个接口,A站利用ajax去请求接口,再有接口模拟请求B站获取数据到API接口,然后再返回到A站ajax直接上代码A站ajax请求 $....原创 2018-06-28 18:03:40 · 29692 阅读 · 2 评论 -
phpstudy集成下Apache配置SSL证书实现加密访问
一、申请购买免费型DV SSL证书1.通过VPS提供商网站申请免费型DV SSL证书2.SSL证书审核通过,即可下载到本地保存下来,二、SSL证书phpstudy集成环境下Apache配置步骤1.首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(如果没有,请编译,【打开phpstudy】》【其他选项菜单】》【PHP扩展】》【php-openssl】前面勾...原创 2018-07-19 10:55:06 · 2671 阅读 · 0 评论 -
ThinkPHP5用composer安装workman时出现问题
ThinkPHP5用composer安装workman时出现问题报错信息如下 The openssl extension is required for SSL/TLS protection but is not availab le. If you can not enable the openssl extension, you can disable this error , at y...原创 2018-07-13 15:15:04 · 1683 阅读 · 0 评论 -
地图几个相邻节点求出 $start 到 $end 的最短路径【算法】
算法求出 $start 到 $end 的最短路径原创 2017-10-21 11:29:25 · 338 阅读 · 0 评论