go mod 工具简单入门介绍。
golang 压缩的方式: 1. build 添加去除调试标识; 2. 使用upx 工具。
在编译二进制程序时,动态赋值程序的某些值,使程序包含了可靠的编译信息。
ctype_digit 问题说明。
一些分布式全局唯一id 方案简介。
go程序go程序说明
1234567891011121314151617181920212223242526272829303132package main // 程序包名, 与 php namespace 类似; 和java 相同 // import 可以通过 { } 导入多个包。 中间加入 ".", 可以在引用函数时,不带包名 import . "fmt" // 引入包名重命名 (.) 可以认为是类似的引用. import myio "io" // 定义常量 const PI = 3.14 // 定义一般变量 var nam...
php 运行阶段
开始阶段
模块初始化 MINIT (module init) 这个阶段,将对每个扩展的PHP_MINIT_FUNCTION函数执行。一般执行如下操作:
INI 配置文件的注册 REGISTER_INI_ENTRIES
定义该扩展实现的类, Interface等
定义的const变量
模块激活 RINIT (Request init) 每个请求进入时,将调用每个扩展的PHP_RINIT_FUNCTION。一般有如下需求会调用该方法:
重置之前的请求, 例如 spl 扩展。
通过请求数据,初始化模块的参数。 例如 mbstring 扩展。
运行阶...
array_merge官网说明
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
array + array官网说明
+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
例子如下example 1:
123456789$addend = [ 'a' => 'apple', 'b' ...
单例 单例模式,希望在程序上下文中,仅对对象做一次实例化。
问题
clone 会引起出现单例对象有多个实例
避免方式
clone 由于clone时,会调用对象的__clone magic method. 因此,可以将__clone 设置为私有,使clone失效。
单例模式1234567891011121314class Singleton { private static $instance = NULL; private function __construct() { } private function __clone() ...
Index Hint
官网说明
语法说明
123456789101112131415161718192021tbl_name [[AS] alias] [index_hint_list]index_hint_list: index_hint [index_hint] ... index_hint: USE { INDEX|KEY} [FOR { JOIN|ORDER BY|GROUP BY}] ([index_list]) ...