php7中的dirname,intdiv,define】的更多相关文章

<?php //dirname可指定目录级数 //intdiv整数整除 //define可以定义数组 echo dirname('/var/www/html/app/etc/config'); echo '<br/>'; echo dirname('/var/www/html/app/etc/config/'); echo '<br/>'; echo dirname('/var/www/html/app/etc/config.php'); echo '<br/>'…
PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进.本文小编将和大家一起来了解探讨PHP7中的新特性. 1. 标量类型声明 我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码: declar…
PHP 中的 Exception, Error, Throwable PHP 中将代码自身异常(一般是环境或者语法非法所致)称作错误 Error,将运行中出现的逻辑错误称为异常 Exception 错误是没法通过代码处理的,而异常则可以通过 try/catch 来处理 PHP7 中出现了 Throwable 接口,该接口由 Error 和 Exception 实现,用户不能直接实现 Throwable 接口,而只能通过继承 Exception 来实现接口 PHP7 异常处理机制 过去的 PHP,…
const const最好理解,修饰的东西不能被修改 指针类型根据位置的不同可以理解成3种情况: I 常量指针 // 初始化之后不能赋值,指向的对象可以是任意对象,对象可变. NSString * const pt1; II 指向常量的指针 // 初始化之后可以赋值,即指向别的常量,指针本身的值可以修改,指向的值不能修改 const NSString * pt2; III 指向常量的常量指针 const NSString *  const pt3; extern 等同于c,全局变量的定义, //…
C语言中宏定义(#define)时do{}while(0)的价值 最近在新公司的代码中发现到处用到do{...}while(0),google了一下,发现Stack Overflow上早有很多讨论,总结了一下讨论,加上自己的理解,do{...}while(0)的价值主要体现在: 1. 增加代码的适应性 下面的宏定义没有使用do{...}while(0) #define FOO(x) foo(x); bar(x); 这样宏定义,单独调用不会出现问题,例如: FOO(100) 宏扩展后变成: 1 f…
PHP中变量名→zval,变量值→zend_value.其变量内存是通过引用计数管理的,在PHP7中引用计数在value结构中. 变量类型: 头文件在PHP源码 /zend/zend_types.h 内部实现: PHP通过zval这个结构体来表示一个变量,而不同类型的变量值则通过zval嵌入的一个人联合体表示,即zend_value. zend_value是一个联合体,其代码如下: ast.ptr.zv这些类型只给内核自己使用. 字符串: PHP为字符串单独定义了一个结构:zend_string…
10件在PHP7中不要做的事情 1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现. 2. 不要编写垃圾代码 这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快. 为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化…
什么是PHP7中的孤儿进程与僵尸进程 基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程.子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态. 孤儿进程 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程…
PHP7中Protobuf的安装使用 写这篇文章的缘由是最近在关注RPC框架序列化的一些原理.但是在安装Protobuf的时候,发现网上的教程都太老了,加上目前Protobuf官方已经支持PHP了,不再需要使用第三方插件了. 关于序列化和反序列化 在PRC框架中,数据的传输发生在客户端和服务端,而我们知道基于TCP协议最终传输的是二进制的0/1序列.所以,基于TCP传输协议的RPC服务自然也需要将数据结构转换成二进制,和二进制转换成数据结构的功能.所以,原则上,基于网络的数据传输只能传输二进制表…
//PHP7中session_start 使用注意事项, session_start([ 'cache_limiter' => 'private', //在读取完毕会话数据之后马上关闭会话存储文件//启用后,浏览器刷新时,页面将不再请求服务器刷新,只能使用CTRL+F5刷新才重新请求数据,慎用! 'cookie_lifetime' => 3600 , //SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废 'read_and_close' =&…