
PHP进阶学习
George-Henry
base深圳的后端工程师,精通Python、PHP等编程语言,有云平台开发及大数据处理经验,欢迎交流~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【PHP进阶学习】——PHP反射
前言:PHP从5.0开始完美支持反射API。PHP反射可以用于观察并修改程序在运行时的行为。一个面向反射的(reflection-oriented)程序组件可以监测一个范围内的代码执行情况,可以根据期望的目标与此相关的范围修改本身。PHP5具有完整的反射API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。原创 2017-10-19 17:05:14 · 930 阅读 · 0 评论 -
【PHP基础学习】—PHP异步非阻塞的实现方法
前言 由于PHP本身是一种单进程的语言,每次请求在apache都是一个进程,在Nginx和fastCGI里面每个请求时一个单独的worker线程,而且在各个服务器里面的请求都是阻塞的,所以有些大批量的复杂逻辑或文本处理会导致请求响应时间很长,这里我们就要考虑让PHP实现异步非阻塞的做法,已达到减少响应时间的目的。 一、各种实现方法 1、FastCGI的非阻塞方法:fastcgi_finish...原创 2018-08-03 16:26:41 · 15097 阅读 · 2 评论 -
【PHP进阶学习】—关于Geo的地图定位算法
前言日常开发中我们经常需要查找某个物体的定位,或者查找附近的范围等,我们自然而然会想到的方法就是利用各种提供服务的地图网站的API,基于API,用经纬度去实现定位和查找附近范围等等。然而,由于原理没有做一个了解和一定的认识,在对比距离远近关系或者控制精确程度方面,我们并不了解怎么利用这些经纬度数值去实现距离转化和对比。本章节我们就来探讨一下基于geo的位置算法原理。概念纬线:纬线是与地轴垂直的线,...原创 2018-05-14 19:59:53 · 2358 阅读 · 0 评论 -
【PHP进阶学习】—CGI、FAST-CGI、php-cgi、php-fpm的关系
前言通常我们在PHP开发中都以LAMP或者LNMP的服务器环境部署web服务,在这些web开发过程中时常会遇到CGI、FASTCGI、PHP-CGI、PHP-FPM等的概念,为了避免对这些名词理解不清或者混淆,本文就来梳理和记录一下这些专有名词的概念和区别。一、概念1、CGI:指的是Web服务器与web应用程序之间的一种数据交换协议。2、FastCGI:类似于CGI,Fast-CGI也是一种通信协...原创 2018-04-28 19:25:20 · 1379 阅读 · 1 评论 -
【PHP进阶学习】—类的自动加载机制
前言 我们在常见的PHP的主流框架中通常写好一个类只需写好相应的命名空间或直接实例化类就可以实现类的使用。而不需要使用原生的方式把类文件一个个用require、include引入包含进来,这归功于PHP的类自动加载机制,也是本文讨论的要点。 一、概念 在PHP代码中,不需要显式地使用文件路径将类库文件包含进来,便可使用该文件中定义的类库,这种技术称作自动加载。 在使用类或者定义了命名空原创 2018-01-10 17:45:10 · 421 阅读 · 0 评论 -
PHP declare(ticks=N); 的作用
转载自:http://blog.youkuaiyun.com/udefined/article/details/24333333 看到得问里面有人问php中 declare作用,我回答了下,顺便自己记录下。 一般用法是 declare(ticks=N); 拿declare(ticks=1)来说,这句主要作用有两种: 1、Zend引擎每执行1条低级语句就去执行一次 register_tick_fun转载 2018-01-17 12:17:36 · 278 阅读 · 0 评论 -
【PHP进阶学习】——依赖注入与Ioc容器
背景 在很多编程语言(例如java)开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,一旦有修改,牵扯的类会很多。 最早在java的spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。目前许多主流PHP框架也使用了依赖注入原创 2018-01-16 21:07:18 · 1413 阅读 · 0 评论 -
【PHP进阶学习】——垃圾回收机制
垃圾回收机制是一种动态存储分配的方案。它会自动释放程序不再需要的已分配的内存块。原创 2017-11-30 17:47:31 · 457 阅读 · 0 评论 -
【PHP进阶学习】——命名空间
前言:命名空间(namespace),在编程语言中,是对作用域的一种特殊的抽象.它表示着一个标识符的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其他命名空间中。原创 2017-11-17 16:53:45 · 560 阅读 · 0 评论 -
【PHP进阶学习】——Trait代码复用类
前言:众所周知,一直以来PHP和很多语言一样是单继承的语言,但是常常在编码过程中,我们需要在当前类中使用两个或两个以上的其他类的方法,这种情况下继承就不能实现,而往往采用new方式实例化很多要用到的类,这样就会很影响代码的结构和开发规范。于是Trait类诞生了,它是一种代码复用的语法,能够实现一个类中引用多个其他类的方法。原创 2017-11-08 17:46:27 · 4106 阅读 · 0 评论 -
【PHP进阶学习】—关于PHP的composer使用
前言 日常开发过程中我们常常需要借鉴或者引用别人的代码,在github上我们可以看到一些开源的项目、代码块、函数库、类结构等,我们可以直接clone下来,然后用在我们自己的项目中。之前的php是手工将其他人的代码copy到自己的项目中,有更新我们同样也需要手动git pull文件。今天介绍和了解一下composer,作为一种包管理工具,composer可以更高效便捷地管理代码包。 一、概念 ...原创 2019-02-26 19:03:36 · 379 阅读 · 0 评论