在整理一些文档,一些历史悠久的PHP开发技术记录,基本没有用了,放这里存着吧。本文地址:http://www.04007.cn/article/1065.html,未经许可,不得转载.
1,location.assign('')也可网页跳转
2,const只能在顶层代码中使用,包括在{}里不能使用。类中能使用
3,常量也可以使用constant(常量名)来取值。
4,使用未定义的常量,会把其名当做值来处理。
5,php有8种类型,基本:int float,string,bool 复合:array,object 特殊null,resource
6,$n=0123,0开头是8进制,0x是16进制,0b101010二进制。
7,进制转换:dec,bin,oct,hex:
转换函数:decbin(),decoct,dechex 还有反向转10进制,其它进制间不能互转。
2,8,16转10进制时要求给出的是对应进制的字符串。
8,浮点数,不要对浮点数进行大小比较。而应该转换为整数后再比较。
9,10进制转换为2,8,10进制的基本做法就是除2,8,10取余,所有余数倒着写出。
10,浮点数小数据的二进制转换,将小数部分乘以2,取得其整数部分,如果还有小数继续
乘2,直到小数消失(极少会消失),然后将所有整数部分按顺序写出来,就是对应小数。
11,整数运算如果超过了整数的最大值,会自动转换为浮点数。
12,单引号可识别转义符\\ \',双引号可识别\\ \" n r t
13,双引号定界符号 $str1 = <<<“标识符”,换行标识符结束。单引号标识符 <<<'标识符'
14,英文字符字符串可以进行自加运算。
15,逻辑运算符,与或运算中的短路概念
16,位运算符,按位异或运算^
17,原码:正数第1位为0,负数第1位为1,反码:正数的反码是其本身,负数的反码符号位不变,
其它位取反。正数的补码是其本身:负数的补码符号位不变,其它位取反后加1。即反码加1.
18,位运算符管理一组事物的开关状态。
19,数组运算符:数组+数组 即是合并两个数组。==判断是否模糊相等。===严格相等
20,运算符号优先级:括号最优先,赋值最后。先单目,再比较,再逻辑,再赋值。
21,循环中断 break n;continue n;
22,流程语句的替代语法:if(条件) : 语句块1 else : 语句块2 endif;
23,include "http://www.baidu.com" 也可以。
24,错误分:系统错误(E_ERROR,WARNING,NOTICE),用户自定义错误(E_USE..),其它E_STRICT,E_ALL
25,php错误日志:php.ini中log_errors=on记录日志,记入位置:error_log=路径。值设置为syslog会记录到操作系统的事件日志中。
26,错误一个是显示问题(display,error)一个是记录问题(开启和位置),
27,还有自定义错误处理器:set_error_handler.
28,函数的其它形式:可变函数、匿名函数 $f1 =function(形参){...}
29,匿名函数的调用形式:$f1();形式2直接当做其它函数的参数来使用。
30,局部变量中使用全局变量 global. 超全局作用域和变量的概念。
31,递归思想,递归函数,递推(迭代)思想。
32,php数组下标为整数,有自动转换能力:7.7=>7,true=>1,null=>
33,数组遍历默认是在原数组上进行遍历,如果遍历中对数组指针进行了操作,则内部会进行复制数组并在复制上修改。
34,如果遍历中使用引用传递,则会在原数组上进行修改。
35,数据库分为:层次数据库,网络数据库,关系数据库。
36,mysqldump -h...> 导出。mysql -u -p..< 文件 进行恢复还原。cmd中
37,基础语法:注释# -- /*rewq*/,语句行,默认以分号结束,可使用delimiter 新结束符。
38,mysql字段类型:tinyint占1个字节,tinyint(3)存起来的表现001,012,123.表现上的3个字符。并非占3位。
39,float,double浮点数。decimal定点数。decimal的小数是精确的。效率不如前两个。
40,varchar(内容开头用1-2个字节表示实际长度,超过255要2个字节)最大可存储65533个字符,如果可为null,则可存储65532。因为可为null要存储。
41,mysql的enum类型,用于存储单选项数据,enum(项1,项2...)对应值1,2,3,4.。
41,set适用于存储多选项项。set(项1,项2,...)对应值为1,2,4,8,...
42,text长文本类型,不占行空间,行空间就是一行存储的最大容量65535。
43,binary,varbinary,blob纯二进制数据。
44,mysql创建表sql中字段属性:auto_increment,primary key,unique key,not null default comment.共6个。
45,primary,unqiue即是索引,也是约束。
46,约束有:主键约束、外键,唯一,非空,默认值,检查约束(check())。foreign key () references 表(字段..)
47,表选项列表:字符集,存储引擎,自增,comment项。
48,create table 新表名 like 旧表名,进行复制。
49,视图:就是对一个select给定一个可以方便使用的名字。create view 视图名 as select...和使用表一样。
50,数据库设计范式:第1范式1NF 原子性。第2范式 唯一性,每行不重复(定义主键),消除部分依赖(消除一个字段只依赖主键的部分字段),
第3 独立性。消除传递依赖。主键决定字段A,B,C;字段A又决定字段B。此时就是就发生了传递依赖
51,只要做到一种数据存储在一个表中,就基本可实现3范式的需求。
52,插入数据其它方法:replace into; insert into table set 字段=val..; insert into table(字段..) select ..; 还有load data载入数据语法
53,where子句:is,between,in,like. is true; is null; like查询时_代表一个任意字符。
54,连接:cross/inner/left/right/full join.后三个都是outer. 内连接最有意义。将两个表交叉连接后满足所给定的连接条件的那些数据行。
55,子查询:表子/行子/列子/标量子查询。几行几列的结果不一样。注意 select * frmo (select 1) as t
56,觉子查询:比较/in/any/all/some/exists some和any是一样的。
57,mysql修改密码 set password=password('新'); 修改其它人: set ..for '用户名@ip' = ;
58,剥夺权限:revoke 权限。。on 库。表。。 from '用户@ip'
59,事务:原子性,一致性,隔离性,持久性。
60,mysql编程:[标识符] begin ...end [标识符];标识符的作用是可以退出这一整块
61,流程控制:if/case/loop/while/repeat/leave.leave退出一个语句块。可以是退出begin也可是循环 ,loop等循环中必须要用leave。
61,mysql中的变量:普通变量不带@符号(只能在编程环境中(函数、存储过程、触发器内部)使用;会话变量带@符号。
62,普通变量必须定义:declare 变量名 类型。会话变量哪里都可以使用。可直播赋值。不需要定义;两种都用set 变量名=来赋值
63,变量赋值还有形式:select @变量名 :=值; select 值 into @变量名;
64,存储过程 create procedure 过程名(in|out|inout)形参,in表示从外部传入,out传出此时参数必须是变量。call 过程。
65,create trigger 触发器名 [before|after] [增删改] on 表名 for each row begin....end;触发器不能有查询语句 比如select ,desc。
66,类的继承:概念继承/派生/基类父类上级类/子类派生类下级类/单继承
67,子类重写的要求:重写的属性和方法其访问修饰符范围不能更小。重写的方法形参必须和父类一致。
68,构造方法中的形参不受权限,父类的私有成员其实不能重写。最终类不允许扩展。
69,抽象类:不能实例化的类,只有方法头没有方法类的抽象方法;继承抽象类必须实现抽象方法除非自身也是抽象类。
70,其它语言中:重载是一个类中多个具有不同形参的同名方法的现象。php不允许此种。php中的重载是对一个对象或类使用其不存在的属性方法时的处理机制。
71,属性重载:__set,__get,__isset,__unset;方法重载:__call,__callstatic
72,接口一种类似类的更为简洁的语法结构,其中只能定义常量和抽象方法,不要abstract\public等东西,默认都是public。
73,为什么需要接口,是对间继承的语法特征的一种修正措施;目的是为了一定程度上模拟多继承。
74,类的自动加载及自定义自动加载方法spl_autoload_register('fun')(可累加定义);单例类的加强 private __clone();
75,类型约束:要求变量只能是某个类型.php只支持局部类型约束;函数或方法形参上、部分array\对象的所属类。对象所实现的接口
76,类的其它魔术方法:__sleep序列化;__wakeup反序列化、__tostring __invoke(把对象当函数调用时调用)
77,static:用在一个方法的内部并使用::表示调用本方法的当前类;与self有区别(代码位置所属类)。
78,类的封装、继承、多态(1,不同对象相同方法会有不同结果;2同一对象方法不同结果)
79,触发器:begin set @v1=new.id; set @v1=new.name;insert into username_v(name) values(@v1);end。注意old和new的必用。old上次删除的记录。
80,示例 create trigger test after insert on username for each row begin ... end;
81,存储过程和存储函数:存储过程是封装得更高的函数。mysql_query('call insert_user($user,$pass)');存储函数 query("insert into ...($name, getpass($pass) )")
82,存储过程不能有返回值;存储函数一般有返回值。存储过程还是函数。
83,三表查询思路:一种是联表查询inner,一种是子查询。
84,gethostbynamel
如何隐藏掉apache里的响应头Server web服务器和响应头中
85,PHP配置:variables_order GPCS
86,PHP_SAPI输出内容:apache2handler
87,array_map对数组函数递归调用。
88,查看扩展是否加载:extension_loaded
89,register_globals在php5.4中已经移除。PHP 5.4.0 性能大幅提升, 修复超过100个bug. 废除了register_globals, magic_quotes以及安全模式、Traits
90,mb_substitute_character('none');
91,parse_str字符串解析入数组
PHP集群,LVS+haproxy+keepalived+nginx+php+eaccelerator+opcache本文地址:http://www.04007.cn/article/1065.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1065.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |