随笔分类 -  PHP

摘要:PHP 开发规范1.3.3一、编程规约(一) 命名风格【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 反例: DaZhePromotion [打折] / g... 阅读全文
posted @ 2020-09-14 09:31 Martini 阅读(354) 评论(0) 推荐(0)
摘要:MAC MAMP集成环境安装 PHP扩展开发环境中,对于需要维护很多 WEB 站点,以及可能会使用到很多不同的 PHP 版本,集成环境比较好用,在MAC 上 MAMP 集成环境是比较好用的,但是在安装扩展时也会遇到一些坑,这里总结一下 MAMP集成环境安装 PHP 扩展的流程。这里以安装 Redis 扩展为例。安装 Redis 服务如果使用本地 redis 数据库,需要先安装 Redis 服务。(... 阅读全文
posted @ 2020-02-18 11:00 Martini 阅读(699) 评论(0) 推荐(0)
摘要:需求 对平均 1200w 数据量的数据表进行优化 数据表中有 2016年,2017 年,2018 年,2019 年数据 只查询最近半年的数据 后台增加历史数据查询功能 尽量减少代码改动 数据表 积分日志表 tb_user_points_log 虚拟充值表 tb_order_recharge 虚拟充值 阅读全文
posted @ 2019-11-19 20:51 Martini 阅读(1611) 评论(2) 推荐(2)
摘要:变量结构 zval 结构体 PHP 所有类型的变量在底层都会以 zval 结构体的形式实现 (源码文件Zend/zend.h) 源码根目录搜索 grep -rin --color --include=*.h --include=*.c _zval_struct * 注:上面zval结构体是 php5 阅读全文
posted @ 2019-10-29 14:10 Martini 阅读(397) 评论(0) 推荐(0)
摘要:概念 垃圾回收机制 是一种内存动态分配的方案,它会自动释放程序不再使用的已分配的内存块。 垃圾回收机制 可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻辑。 与之相关的一个概念,内存泄露 指的是程序未能释放那些已经不再使用的内存,造成内存的浪费。 那么 PHP 是如何实现垃圾回收机 阅读全文
posted @ 2019-10-29 14:10 Martini 阅读(795) 评论(0) 推荐(0)
摘要:容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” 、“依 阅读全文
posted @ 2019-07-01 14:55 Martini 阅读(199) 评论(0) 推荐(0)
摘要:配置说明 全局安装phpunit代码 该代码会自动保存在 /User/你的用户名/.composer/vendor/phpunit 全局安装phpunit命令脚本 从上一步安装结果可以得知当前环境PHP版本可兼容的phpunit的版本,我这里的PHP是5.6的,最大可兼容phpunit5.7 创建 阅读全文
posted @ 2019-06-29 23:03 Martini 阅读(2958) 评论(0) 推荐(1)
摘要:概念 闭包和匿名函数在PHP5.3.0中被引入。 闭包 闭包是指创建时封装周围环境的函数。即使闭包所在的环境不存在了,闭包中封装的状态依然存在。这个概念很难理解,不过没关系,继续看下去就会明白了。 匿名函数 匿名函数就是没有名字的函数。匿名函数可以赋值给变量,还能像其他任何PHP对象那样传递。不过匿 阅读全文
posted @ 2019-05-23 09:35 Martini 阅读(248) 评论(0) 推荐(0)
摘要:PHP信号管理 SIGHUP 终止进程 终端线路挂断 SIGINT 终止进程 中断进程 SIGQUIT 建立CORE文件终止进程,并且生成core文件 SIGILL 建立CORE文件 非法指令 SIGTRAP 建立CORE文件 跟踪自陷 SIGBUS 建立CORE文件 总线错误 SIGSEGV 建立 阅读全文
posted @ 2018-09-29 17:52 Martini 阅读(278) 评论(0) 推荐(0)
摘要:PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 二、将普通日期格式转为时间戳 JavaScript篇 js中时间操作单位是毫秒 一、js将时间转换成时间戳 1. js获取当前时间戳的方法 第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。 2. j 阅读全文
posted @ 2018-09-27 10:48 Martini 阅读(421) 评论(0) 推荐(1)
摘要:PHP进程信号处理 php有一组进程控制函数PCNTL,使得php能在*nix系统中实现跟c一样的创建子进程、使用exec函数执行程序、处理信号等功能。 注意:pcntl这个扩展仅在cli/cgi模式下可用。mod_php和php-fpm中不可以使用。在web server环境中不要使用这组函数,因 阅读全文
posted @ 2018-09-27 10:04 Martini 阅读(1020) 评论(0) 推荐(2)
摘要:在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解,很难搭建出高性能的服务器。接下来我们就以图形方式,解释这些概念之间的关系。 基础 在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请 阅读全文
posted @ 2018-09-06 14:35 Martini 阅读(514) 评论(0) 推荐(2)