
php
文章平均质量分 83
小吴先森
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java pack unpack_[PHP][位转换积累]之pack和unpack
一、前面的话PHP的pack和unpack提供了为一系列数据打包(pack)和解包(unpack)成2进制流的功能,这个功能在面向字节的字符串处理和套接字的编程环境中尤为适用。在了解这两个函数之前,我们必须掌握一些关于面向字节流编程的概念,否则很难真正上理解它们。1.什么是字节序字节序,顾名思义就是字节存放的顺序计算机在传输或存储多字节的时候,会对每个字节进行双方排序的约定,例如,单字节高位在前还是在后?是需要用1000 0000 0001 0000还是0001 0000 1000 00转载 2022-04-07 19:30:39 · 422 阅读 · 0 评论 -
Thrift(PHP)入门无错篇章(一)
一、安装篇博主注:截至2017-10-10,官网上thrift最新版0.10.0一直无法成功编译。所以,请选择0.9.3版本,避免走各种弯路:wget http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz1、安装开发平台工具yum -y groupinstall "Development Tools"2、安装au...转载 2020-03-10 14:01:00 · 366 阅读 · 0 评论 -
PHP深入理解---self的用法
有人询问self关键字的用法,答案是比较明显的:静态成员函数内不能用this调用非成员函数,但可以用self调用静态成员函数/变量/常量;其他成员函数可以用self调用静态成员函数以及非静态成员函数。随着讨论的深入,发现self并没有那么简单。鉴于此,本文先对几个关键字做对比和区分,再总结self的用法。与parent、static和this的区别1.parentself与pa...转载 2020-02-04 16:55:30 · 733 阅读 · 1 评论 -
apc优化遇到的问题
模式 验证条件 验证类型 动作 输出情况 cli 服务器负载1000 apc time php t2.php 平均 user+sys = 0.3s include time php t.php 平均 user+sys = 0.3s apache 服务器负载16 apc 浏览器...原创 2019-10-11 15:23:35 · 443 阅读 · 0 评论 -
PHP性能优化:APC可选PHP缓存
APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。系统缓存它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存3600s(一小时)。但是这样仍会浪费大量CPU时间。因此可以在php.in...转载 2019-10-10 17:36:26 · 184 阅读 · 0 评论 -
PDO query和execute区别
PDO::query(PHP环境下同)和PDOStatement::execute函数均能实现SELECT查询功能,但官方文档并未见对此设计初衷的说明,此外还有个PDO::exec函数功能也很类似。天缘自己也很纳闷(也可能未发现或是未能完全理解),既然PDO::query函数功能做的如此单一,而且还和exec、execute之间有交叠,那为何不重新调整部分函数执行方法,只保留一个或保留两个足够,难...转载 2019-10-08 13:32:50 · 439 阅读 · 0 评论 -
php xml解析转数组
/*** * 将xml转为数组* @param string $xml xml字符串* @param string $version xml版本* @param string $charset xml编码*/ function xmlToArray($xml, $version="1.0", $charset="utf-8"){ $doc = n...原创 2019-09-11 16:43:12 · 190 阅读 · 0 评论 -
PHP扩展迁移为兼容PHP7记录
PHP7扩展编写的时候,提供的一些内核方法和之前的PHP之前的版本并不能完全兼容。有不少方法参数做了调整。下面是在迁移过程中遇到的一些问题。记录下来,避免大家再踩坑。PHP7扩展开发之hello word白话PHP7扩展开发之创建对象add_assoc_stringl方法参数改为四个。add_assoc_stringl(parray, key, value, value_len);...转载 2019-08-27 09:43:11 · 138 阅读 · 0 评论 -
PHP中的 抽象类(abstract class)和 接口(interface)
一、 抽象类abstract class1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。2 .抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。3 .如果子类需要实例化,前提是它实现了抽象类中的所有抽象方...转载 2018-04-20 11:11:22 · 122 阅读 · 0 评论 -
PHP程序员的技术成长规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言。(未来技术变化...转载 2018-04-11 20:16:51 · 134 阅读 · 0 评论 -
简单工厂模式
工厂模式,就是负责生成其他对象的类或方法。1 类实现比如,我们有一些类,它们都继承自交通工具类:interface Vehicle{ public function drive();}class Car implements Vehicle{ public function drive() { echo '汽车靠四个轮子转载 2018-01-11 21:35:21 · 149 阅读 · 0 评论 -
小时到分钟 - 一步步优化巨量关键词的匹配
问题由来前些天工作中遇到一个问题:有 60万 条短消息记录日志,每条约 50 字,5万 关键词,长度 2-8 字,绝大部分为中文。要求将这 60万 条记录中包含的关键词全部提取出来并统计各关键词的命中次数。本文完整介绍了我的实现方式,看我如何将需要运行十小时的任务优化到十分钟以内。虽然实现语言是 PHP,但本文介绍的更多的思想,应该能给大家一些帮助。原始 - grep设计一开始接到任务的时候,我的...转载 2018-04-10 09:42:57 · 468 阅读 · 0 评论 -
使用xhprof进行线上PHP性能追踪及分析
之前一直使用基于Xdebug进行PHP的性能分析,对于本地开发环境来说是够用了,但如果是线上环境的话,xdebug消耗较大,配置也不够灵活,因此线上环境建议使用xhprof进行PHP性能追踪及分析。xhprof的安装与简易用法xhprof是Facebook开源的轻量级PHP性能分析工具,Linux环境下可以通过pecl直接安装,比如在Ubuntu下仅需3行指令pecl install xhprof...转载 2018-04-10 09:17:31 · 194 阅读 · 0 评论 -
移动端浏览器类型
// 返回移动端浏览器类型 function MobileType(){ /* PHP 自动判断客户端平台(PC、安卓、iPhone、平板) * strtolower() 函数把字符串转换为小写; * strpos() 函数返回字符串在另一个字符串中第一次出现...原创 2018-03-26 17:27:26 · 780 阅读 · 0 评论 -
组合模式
组合模式将对象组合成树形结构,以表示‘部分-整体’的层次结构。在组合模式,客户端访问独立对象和组合对象(或称对象集合)一样。独立对象是一个有特定功能的对象,它不引用其他任何其他对象。组合对象则是一个提供相似功能对象的集合,主要用来管理独立对象,并为客户端提供和独立对象一样的访问方式。接下来,我们就以目录和文件来举例,利用它们的一个相同的功能“查看大小”来举例。1 问题 在文件系统中,我们有文本文件转载 2018-01-17 20:37:49 · 216 阅读 · 0 评论 -
php笔记
日常会遇到的问题函数的任意数目的参数你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数function foo() { // 取得所有的传入参数的数组 $args = func_get_args(); foreach ($args as $k => $v) { echo "arg".(原创 2017-12-16 16:57:02 · 511 阅读 · 0 评论 -
php 和 java RSA 对称加密互通的问题
java 和 php 在处理 RSA 加密的时候是有差别的,java 处理的 public/private key 文件在 php 里面是没有办法处理的,需要进行格式转换,而通过 openssl 直接生成的 public/private key 文件在 java 里面是不能直接实用的,所以如果双方互通就涉及到格式转换的问题。而往往因为不用业务之间需要这种语言上的加密转换,如果不知道这种差异,总是无法转载 2017-12-28 13:55:25 · 1458 阅读 · 0 评论