php
文章平均质量分 92
lanco刘
学无止境
展开
-
PSR-0与PSR-4
PHP自动加载的背景 在开发过程中,我们如果想引入外部的class,通常都会使用require或者include方法,其实这个在小规模的开发中没多大问题,但是万一开发规模大了起来,那样子就会有很多require/include语句,这样子非常不优雅,同时如果遗漏引入,或者重复引入,那也是一个麻烦事,require_once的代价很大,暂且不提。PHP自动加载函数程序员应该是懒惰的,我们不愿意这么...原创 2018-03-18 10:20:44 · 1793 阅读 · 0 评论 -
AJAX跨域问题
最近工作有遇到跨域问题,正值周末,好好梳理一下跨域相关知识。还是老样子,提问去学习是习惯的方法:什么是跨域?为什么有跨域限制?怎么解决跨域限制?什么是跨域?什么叫同域-协议,域名,端口相同的就叫同域,否则都叫跨域协议。例如下面http://www.lanco.com ,其中http是协议,www.lanco.com是域名。一般后面都默认80端口,只是没有写出来而已。为什么有跨域限制?主要是浏览器的...原创 2018-05-14 22:43:57 · 185 阅读 · 0 评论 -
PHP学习之SAPI
学习使用的PHP是7.2.6我们在源码安装好PHP之后查看当前的目录:其中SAPI就是我们这篇文章所要学习的内容。那么什么是SAPI呢?SAPI全称为Server Application Programming Interface,服务器应用编程接口我们都知道PHP是一个脚本解释器,提供脚本解析与执行,我们可以在不同环境中应用这个解析器,例如web环境中,命令行中,嵌入其他应用中,面对着这么多不同...原创 2018-06-22 21:31:24 · 836 阅读 · 0 评论 -
PHP7的变量内部实现
本次学习使用的php版本是php7.2.6当我们谈及一门编程语言的变量,都会想到它的三个基本组成部分:变量名,变量类型,变量值,一直很好奇PHP的底层是怎么去表示变量的,所以有时间去学习了一下它的源码。在PHP的底层实现变量存储都是使用一种数据结构zval,这个结构同时还保存着PHP中的各种数据类型,我们可以在Zend目录下找到zend_types.h文件,此文件便定义了该数据结构对应的代码如下:...原创 2018-06-10 16:57:52 · 677 阅读 · 0 评论 -
PHP的empty,isset和is_null区别
PHP提供了三个用于测试变量值的函数,分别是isset(),empty(),is_null(),他们都返回布尔值,但是也有区别。通过以下表格查看:对比项 isset()方法 empty()方法 is_null方法 ""(空字符串) true ture false " "(一个空格) true false false ...原创 2018-07-08 22:33:29 · 3431 阅读 · 4 评论 -
浅聊CGI、FASTCGI、PHP-CGI、PHP-FPM
再谈论这个话题之前,先在脑中仔细区别一下这四者的关系,如果是有一些含混不清的,或许这篇拙文能带给您一点清晰地思路。 什么是CGI,HTTP权威指南这么定义--通用网关接口(Common Gateway Interface),可以用来装载程序以响应对特定URL的HTTP请求,并收集程序输出数据,将其放在HTTP响应中回送。说的明白点也就是处理各种需要的转换,定义输入输出的格式注:CG...原创 2018-03-14 08:19:32 · 110 阅读 · 0 评论