php札记,PHP札记(PHP高级篇)

CREATE TABLE [IF NOT EXISTS]TableName (colname1 type[property] [index],colname2 type[property] [index],...)[tableType] [tableCharSet];修改表alter table 操作

数据类型数值型UNSIGNED:指定为无符号存储

整型TINYINT 1 Byte (-128,127) (0,255) 小整数值

SMALLINT 2 Byte (-32 768,32 767) (0,65 535) 大整数值

MEDIUMINT 3 Byte (-8 388 608,8 388 607) (0,16 777 215) 大整数值

INT或INTEGER 4 Byte (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值

BIGINT 8 Byte (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

浮点型FLOAT 4 字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38)

DOUBLE 8 字节 (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

字符型CHAR 0-255Byte 定长字符串,

VARCHAR 0-255Byte 变长字符串,必须指定长度

TINYBLOB 0-255Byte 不超过 255 个字符的二进制字符串

TINYTEXT 0-255Byte 短文本字符串

BLOB 0-65 535Byte 二进制形式的长文本数据

TEXT 0-65 535Byte 长文本数据

MEDIUMBLOB 0-16 777 215Byte 二进制形式的中等长度文本数据

MEDIUMTEXT 0-16 777 215Byte 中等长度文本数据

LOGNGBLOB 0-4 294 967 295Byte 二进制形式的极大文本数据

LONGTEXT 0-4 294 967 295Byte 极大文本数据

CHAR的处理速度比较快,VARCHAR具有可变大小

二进制保存主要用于保存非文本文件

ENUM,枚举类型,最多能存储65535个值,一个字段只能存一个值

SET,集合类型,最多可存储64个值,一个值段可存多个值

日期型DATE 3Byte 1000-01-01/9999-12-31 YYYY-MM-DD 日期值

TIME 3Byte '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间

YEAR 1Byte 1901/2155 YYYY 年份值

DATETIME 8Byte 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

TIMESTAMP 8Byte 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

※任何数据类型以字符串的形式存入,都可以自动转换类型

※将时间保存为php时间戳,方便运算

数据字段属性unsigned:设置该字段为无符号数值,只能是数值型

zerofill:设置该字段的记录的值未达到指定位数时,用“0”填充,只能是数值型

auto_increment:设置该字段的值自动增长,也可设定自定义值,需要同时设定索引或主键,只能是数值型

null和not null:设置该字段是否允许为空,建议设定为非空,配合default使用

default:设置该字段的默认值,若不输入,使用默认值

索引优点:提高查询速度

缺点:创建和维护成本比较高

占用资源

主键索引(primary key):索引值必须唯一,每张表只有一个

唯一索引(unique):索引值必须唯一,但一张表可以有多个

常规索引(index):最基本的索引,没有太多的限制

全文索引(filltext):只能在MyISAM上使用,表越大,效果越好,但速度较慢

创建和使用,可查看MySQL索引类型一览表 让MySQL高效运行起来

数据表类型及存储位置MySQL可以针对不同的存储引擎需求可以选择最优的存储引擎

数据表类型即存储引擎

使用type或engine关键字指定表类型

常用的表类型MyISAM强调快速读取操作

对一些功能不支持(事务)

InnoDB支持一些MyISAM不支持的功能

不支持全文索引占用空间比较大功能MyISAMInnoDB

事务处理不支持支持

数据行锁定不支持支持

外键约束不支持支持

表空间占用相对较小较大

全文索引支持不支持

MySQL默认字符集推荐utf8

字符集:用来定义MySQL存储字符串的方式使用character set关键字指定字符集

校对规则:对规则定义了比较字符串的方式使用collate指定校对规则

数据操作语言(DML)主要有三种形式:1) 插入:INSERTinsert into tablename[(字段列表)] values(值列表1)[,(值列表2)...]表名后面,若有字段列表,则值列表与字段列表一一对应,若没有字段列表,则值列表与表中的字段一一对应

2) 更新:UPDATE

update tablename set 字段名='值' [条件]3) 删除:DELETE

delete from tablename [条件]

可以使用运算符,包括算术运算符、逻辑运算符、比较运算符、位运算符

数据查询语言(DQL)基本结构是由SELECT[ALL|DISTINCT]子句,FROM子句,WHERE子句组成的查询块:SELECT

FROM

[WHERE/GROUP BY/ORDER BY]

DISTINCT表示不显示重复的记录

使用as关键字,可为字段名起别名,用于可能产生歧义的字段名

数据控制语言(DCL)定义:用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

MySQL内置函数位置:select语句,及子句where order by having 中,update delete语句及子句

函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值

常用字符串函数concat:把传入的参数连接成一个字符串

insert(str,x,y,insert):从str的x位置开始,替换y长度的字符串为insert

lower(str),upper(str):将字符串转换为大写,小写

left(str,x) right(str,x) 返回str左边(右边)x个字符,x为null则返回null

lpad(str,n,pad) rpad(str,n,pad) 用pad对字符串str从最左边(右边)进行填充,直到总长度n

trim(str),ltrim(str),rtrim(str)去掉两边,左边,右边空格

replace(str,a,b) 在字符串str中用字符串b替换所有的字符串a

strcmp(s1,s2):如果S1比S2小,返回-1;如果S1比S2大则返回1;如果相等则返回0(比较的是ASCII码)

substring(str,x,y) 返回字符串str中从位置x起,长度为y的子字符串

数值函数abs(x):返回绝对值

ceil(x):返回大于x的最小整数

floor(x):返回小于x的最大整数

mod(x,y):返回x与y的模

rand():返回0-1之间的随机数

round(x,y):返回参数x的y位小数的四舍五入结果

truncate(x,y):返回数字x截断为y位小数的结果

日期函数curdate():返回当前年月日

curtime():返回当前时分秒

now():返回当前日期

unix_timestamp(time):返回unix时间戳

from_unixtime():将Unix时间戳转换为日期

week():返回时间戳的周

year():返回时间戳的年

hour():返回时间戳的小时

minute():返回时间戳的分钟

month():返回时间戳的月

date_format(time,"%Y-%m-%d %H:%i:%s"):格式化返回时间

流程控制函数if(value,t,f):如果value值为true,返回t,如果value值为false,返回f

ifnull(value1,value2):如果value1为空,则返回value2,如果value1不为空,返回value1

case

when value1 then value2

when value3 then value4

......

else fault END

当value1为true,返回value2,当value3位true,返回value4,以此类推,否则返回fault

其他用法:mysql 语句case when

其他函数database():返回数据库名

version():返回MySQL版本

user():返回MySQL的用户

inet_aton(ip):将IP转换为网路字节序

inet_nton():将网络字节序转为IP

password():MySQL用户密码加密

md5(str):将字符串加密

PHP操作数据库连接数据库mysql_connect(IP,user,psw):IP为数据库地址,user为用户名,psw为用户密码,连接成功,返回数据库资源,连接失败,返回false

选择库mysql_select_db($dbname,[$res]):$dbname为库名称;$res为连接数据库是返回的资源,若不添加该参数,则默认为最近创建的数据库资源

SQL语句输入mysql_query():执行SQL语句,若语句有返回结果集,则函数执行成功返回结果集,若语句没有返回结果集,函数执行成功返回true

解决错误mysql_errno():返回错误号

mysql_error():返回错误信息

关闭数据库资源mysql_close():关闭数据库资源,不使用参数,默认关闭开启的资源(推荐)

函数mysql_insert_id():返回自动增长的id,若没有设置AUTO_INCREMENT,则返回false

mysql_affected_rows():获取受影响的行数

从结果集中取出数据mysql_fetch_row($result):从结果集中取得一条数据,返回索引数组

mysql_fetch_assoc($result):从结果集中取得一条数据,返回关联数组

mysql_fetch_array($result):从结果集中取得一条数据,返回索引数组和关联数组

mysql_fetch_object($result):从结果集中取得一条数据,返回对象

mysql_data_seek($result,$row):将指针移动到指定位置

从结果集中获取字段mysql_num_rows($result):获取结果集的字段数

mysql_num_fields($result):获取结果集的列数

mysql_field_name($result):获取结果集的字段名

mysqli操作数据库PHP5以后的新添加的功能都是面向对象的,所以mysqli是以对象的形式添加的

mysqli优点表示改进

功能增加

效率大大增加

更稳定

mysqli扩展提供的三个类mysqli:和连接有关的类构造方法mysqli([$host[, $username[, $passd[, $dbname[,$port [, $socket]]]]]])

连接成功返回对象,失败返回false

查看连接失败信息connect_errno():返回连接错误号码

connect_error():返回连接错误信息

SQL语句输入query(sql):执行SQL语句,若语句有返回结果集,则函数执行成功返回结果集对象mysqli_result,若语句没有返回结果集,函数执行成功返回true

方法affected-rows():返回影响行数

errno():返回错误号

error():返回错误信息

insert_id():返回自动增长的id

关闭资源

close():关闭连接

mysqli_result:表达对数据库的查询所返回的结果集属性:$num_rows:结果集中记录数

$field_count:结果集中字段数

$current_field:获取当前列的位置

方法:处理记录fetch_row():与mysql_fetch_row()一致

fetch_assoc():与mysql_fetch_assoc()一致

fetch_array():与mysql_fetch_array()一致

fetch_object():与mysql_fetch_object()一致

data_seek():与mysql_data_seek()一致

free():释放结果集

处理字段fetch_field():取出列信息,并作为对象返回

fetch_fields():取出所有列信息,并作为对象返回

field_seek():移动字段指针

执行多条SQL语句

multi_query(sql1[;sql2]):可执行多条sql语句,语句间用“;”隔开,若有多个结果集,则均会被返回

next_result():返回multi_query()的下一个结果集

more_results():检查是否含有下一个结果集

mysqli_stmt:预处理类优点:mysqli和mysqli_result能完成的功能,mysqil_stmt都能完成

效率比较高,执行多条相同的sql语句,只有数据不同的话,不用重复传语句,直接传数据即可

防止sql注入,因为出入的数据只会当做值类使用,不会当做可执行语句

创建对象创建好mysqli对象后,使用该对象的stmt_init()方法初始化mysqli_stmt对象

准备并发送语句语句中的参数值要使用占位符“?”代替使用mysqli_stmt中的prepare($sql)方法将语句发送到服务器准备

不用创建mysqli_stmt对象,直接使用mysqli中的prepare($sql)准备sql语句,并返回mysqli_stmt对象

给占位符传值(绑定参数)使用bind_param($type,$var1[,$var2...])绑定参数$type可以为i、d、s、b,分别代表integer、double、string和二进制资源

$type中的类型个数要与占位符相同,$var个数也要与占位符个数相同

给变量$var赋值

执行sql语句没有结果集返回使用execute()方法执行插入的参数,返回boolean类型

有结果集返回使用bind_result($var1[,$var2...])绑定结果集使用fetch()执行语句,每次获取一条结果,并传递到bind_result()中的变量

使用store_result()执行语句,将所有结果一次性取出,返回结果集,再用fetch()获取每一条记录

result_matedate()返回结果集,用于获取字段信息

使用result_free()释放结果集

关闭资源使用close()方法关闭

函数

mysqli和mysqli_result支持函数,mysqli_stmt基本都支持

事务处理建立表表类型为MyISAM不支持事务功能,需要建立InnoDB类型的表

关闭自动提交autocommit():参数为0或false时,关闭自动提交

提交事务commit():提交事务(多条执行后的sql语句)

回滚事务rollback():回滚事务(多条已执行的sql语句)

其他方法set_charset($string):设置取出字符集

PDO优点:更换数据库时,不用更改代码

缺点:效率不如mysql和mysqli高

三个类PDO:代表 PHP 和数据库服务之间的一个连接创建PDO对象dpo($dsn,$username,$passd[,$array]):$dsn连接mysql数据库时,设置为'mysql:host=ip:port;dbname=$string',$array为调优参数

DSN(data source name)数据源:包括主机位置、库名和不同数据库所需驱动

可用getattribute($attribute)查看属性,使用setattribute($attribute,$value)设置属性

执行sql语句

query($string):执行有结果集返回的语句,返回预处理对象PDOStatement

exec($string):执行对表有影响的语句,返回被影响行数

设计错误报告使用setAttribute()设置错误报告模式

ERRMODE_SILENT:不显示错误,开发人员自行检查错误errorCode:返回错误号码

errorInfo:返回错误信息数组

ERRMODE_WARNING:发生错误,显示一个E_WARNING消息

ERRMODE_EXCEPTION:发生错误,抛出PDOException异常

事务处理使用setAttribute(),设置开启事务处理,关闭自动提交

使用commit()提交已执行的sql语句

使用rollback()回滚已执行的sql语句

PDOStatement:代表一条预处理语句,并在该语句被执行后代表一个相关的结果集作用准备一条语句

处理结果集

准备并发送语句语句中的参数值可使用占位符“?”

占位符“:占位符名字”代替使用PDO::prepare($sql)方法将语句发送到服务器准备,返回PDOStatement对象,存储结果集给占位符传值(绑定参数)使用bind_param($key,$value)绑定参数“?”占位符$key设置为索引号,

$value设置为传送值

名字占位符$key设置为键名

$value设置为传送值sql语句执行使用execute()方法执行已绑定参数的语句

使用execute($array),$array数组中添加参数,避免绑定参数

记录获取

使用fetch()获取结果集中的每一条记录,返回索引和关联混合数组参数为PDO::FETCH_ASSOC,返回关联数组

参数为PDO::FETCH_NUM,返回索引数组

参数为PDO::FETCH_BOTH,返回索引关联混合数组

fetchAll()获取结果集的每一条记录,返回二维数组

使用setFatchMode()设置获取模式,就可以避免每次获取都要设置模式

字段获取

columnCount()获取字段数

getColumnMeta()返回结果集中一列的元数据

PDOException:代表一个由 PDO 产生的错误。在自己的代码不应抛出一个 PDOException 异常使用try catch捕获各种异常,包括连接异常、sql语句异常等

mamcache/memcached一个高性能的分布式的内存对象缓存系统。通过在内存中维护一个巨大的hash表,维护内存中的数据

工作原理PHP第一次查询数据时,会将数据存储在mamcache中,下次查询时,先访问mamcache。

安装  Linux下安装基于libevent事件,所以必须先安装libevent库

Windows下安装默认端口11211

memcache命令CommandDescriptionExample

getReads a valueget mykey

setSet a key unconditionallyset mykey 0 60 5

addAdd a new keyadd newkey 0 60 5

replaceOverwrite existing keyreplace key 0 60 5

appendAppend data to existing keyappend key 0 60 15

prependPrepend data to existing keyprepend key 0 60 15

incrIncrements numerical key value by given numberincr mykey 2

decrDecrements numerical key value by given numberdecr mykey 5

deleteDeletes an existing keydelete mykey

flush_allInvalidate specific items immediatelyflush_all

Invalidate all items in n secondsflush_all 900

statsPrints general statisticsstats

Prints memory statisticsstats slabs

Prints memory statisticsstats malloc

Print higher level allocation statisticsstats items

stats detail

stats sizes

Resets statisticsstats reset

versionPrints server version.version

verbosityIncreases log levelverbosity

quitTerminate telnet sessionquit

PHP中使用memcache类:memcache

连接:memcache::connect($host,$port)

1 php2 $memcache = newMemcache;3 $memcache->connect("localhost",11211) or die("could not connect");

其他方法add:添加数据

set/replace:修改数据

get:获取数据

delete:删除数据

......

何时使用memcache数据库中读出来的数据,方便下次使用

会话控制中使用

技巧用sql语句作为key

用md5()修改sql语句,使sql语句变短,便于保存

会话控制:面向连接的可靠的连接方式,通过会话控制,判断用户的登录行为cookie技术服务器给客户端的一个文件,通过客户端的这个文件,保存用户信息,服务器根据文件,区分用户

设置cookiesetcookie($key,$value,$time):头信息,不能有任何输出

获取cookie使用全局数组$_COOKIE[]获取cookie内容

删除cookieti用setcookie设置$value为空或不设置,$time设置为0或不设置

session技术在服务器中保存用户数据,会产生一个SessionID,可使用cookie和url传递该id

session配置配置服务器端的php.ini

开启会话session_start():让php的核心程序将和session有关的内建环境变量预先载入到内存中开启一个会话基于cookie的session,使用该函数不能有任何输出

返回已开启的会话

设置和获取session使用$_SESSION[]设置和获取session

session_id()获取和设置session的id

删除session$_SESSION=array();将session设置为空数组

删除cookie中的session

session_destory():销毁session

基于url传递sessionid,设置url的参数为session_name,session_start()后,会自动寻找该参数

常量SID,当用户关闭cookie时,该常量表示session_name和session_id;当用户开启cookie时,该常量为空

设置php.ini中的session.use_trans_sid=1,会使页面跳转(超链接、header、表单)后面自动添加SID

session高级技术php.ini中,session的设置session_name:设置存在cookie以及SID中的session_name

session.use_trans_sid:设置SID是否开启,开启后,可自动添加SID

session.save_path:设置session文件的保存位置,如果不设置,则不生成session文件

session.gc_maxlifetime:设置session文件有效时间,超过该时间session未刷新,session文件将失效

session.gc_probability和session.gc_divisor结合使用,定义session垃圾回收概率,算法为session.gc_probability/session.gc_divisor

session.use_cookie:设置session写入到cookie中

session.cookie_path:设置哪些文件的session写入到cookie中

session.cookie_lifetime:设置session的生命周期

session.save_handler:设置session写入方式及位置,当值为user时,可使用session_set_save_handler()函数

session_set_save_handler(open(),close(),read(),write(),destroy(),gc()):可自定义session文件的存储路径及存储方式等使用该函数定义了各个方法,像往常一样使用session

open():在执行session_start()时,被调用

close():在执行session_write_close()时,被调用

read():在调用open()后,被调用

write():脚本结束时和session_write_close()执行时,被调用

destroy():当session使用session_destroy()或者session_regenerate_id()被销毁时,被调用

gc():由session.gc_probability和session.gc_divisor决定,任何时候军可能被调用

具体用法

将Session写入数据库

将Session写入Memcache

至此,PHP的基础学习算是完成了,需要多做多学,方能提高!

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

47d507a036d4dd65488c445c0974b649.png

立即提交

专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
译者序 序言 前言 第一部分 高级PHP 第1章 开发思想 1 1.1 PHP与我 1 1.2 计划的重要性 2 1.3 编码规范 3 1.3.1 选择名字 3 1.3.2 使代码更易读 5 1.3.3 添加注释 8 1.3.4 选择谈话式名字 13 1.3.5 保持清晰一致的接口 15 1.3.6 将代码结构化为逻辑群 16 1.3.7 抽取单独的代码块 16 1.4 使用文件将函数分类 16 1.5 编写文档 17 1.6 一个API设计实例 18 1.7 小结 22 第2章 高级语法 23 2.1 PHP语法 23 2.2 定义常量 24 2.3 数组函数 25 2.4 PHP和OOP 31 2.4.1 类:PHP 3.0和PHP 4.0的对比 35 2.4.2 执行类 36 2.4.3 读取对象 37 2.4.4 构造函数 38 2.4.5 继承 38 2.4.6 特殊的OOP函数 39 2.5 链接清单 41 2.6 关联数组 49 2.6.1 多维数组 50 2.6.2 变量参数 51 2.7 多态和自变代码 62 2.7.1 动态函数生成程序 63 2.7.2 自变计数器 67 2.8 小结 68 第3章 应用程序设计:一个实际的例子 69 3.1 项目概观 69 3.2 比较技术环节 70 3.3 IRC网络基础 73 3.4 使应用程序适用于网络 75 3.5 连接网络的接口 76 3.5.1 接口结构 78 3.5.2 下游信息交流 79 3.5.3 上游信息交流 80 3.5.4 在共享的存储器中设置一个标志 83 3.5.5 用户接口 84 3.5.6 开发者的接口 84 3.5.7 HTML开发者的接口 85 3.5.8 代码开发者的接口 85 3.6 管理和安全 90 3.6.1 网络等级 90 3.6.2 PHP/Web服务器等级 90 3.6.3 数据库等级 90 3.6.4 IRC等级 91 3.7 执行 91 3.8 小结 91 第二部分 Web应用 第4章 Web应用程序思想 93 4.1 HTTP和“会话” 93 4.1.1 保持状态 93 4.1.2 用cookies进行“会话”ID传输 95 4.1.3 URL手工改写 95 4.1.4 动态路径 96 4.1.5 DNS技巧 98 4.1.6 实际应用中的折衷方案 99 4.1.7 PHP的内嵌“会话”库 100 4.2 安全性考虑 106 4.2.1 不要信任Web 107 4.2.2 不要重新发明加密法 111 4.2.3 开发组需要资深人员 118 4.2.4 认证 118 4.3 为什么适用性很重要 120 4.3.1 Web应用程序的“适用性” 121 4.3.2 打折式适用性工程 124 4.3.3 适用性:只要做就可以了 126 4.4 小结 126 第5章 基本网络应用程序策略 127 5.1 PHP正常表格 127 5.2 方案策划 133 5.2.1 团队合作 133 5.2.2 目录结构 134 5.3 CVS:一致版本系统 135 5.3.1 CVS时间节省器: GUIS和CVS web 139 5.3.2 高级CVS 140 5.4 三层式应用程序 145 5.4.1 传统的客户端/服务器 145 5.4.2 PHP和多层应用程序 146 5.4.3 PHP和COM 147 5.4.4 PHP和Java 149 5.5 小结 150 第6章 PHP数据库访问 151 6.1 PHPLib:PHP基础库 151 6.1.1 PHPLib的历史 151 6.1.2 优点和缺点 152 6.1.3 重要文件 152 6.1.4 PHPLib客户化 152 6.2 数据库基本概念 153 6.2.1 可移植性 153 6.2.2 调试模式 154 6.2.3 错误处理 154 6.2.4 DB_Sql实例 154 6.2.5 会话 156 6.2.6 自动撤退 157 6.2.7 网页捕捉 157 6.2.8 串行器 157 6.2.9 会话实例 157 6.2.10 缩写I:page_open( ) 160 6.2.11 缩写II:purl( )、url( )和pself( ) 161 6.3 认证 162 6.3.1 PHP认证的优点 162 6.3.2 Auth实例 162 6.3.3 Auth内核 163 6.3.4 管理许可等级 165 6.3.5 位运算 166 6.4 小结 170 第7章 尖端应用程序 171 7.1 知识库 171 7.1.1 必要条件清单 172 7.1.2 条件清单 173 7.1.3 模板类 175 7.1.4 SQL递推式 179 7.1.5 身份确认 180 7.1.6 完成的产品 180 7.2 PHP和XML 180 7.2.1 什么是XML 180 7.2.2 DocBook 183 7.2.3 WML(Wireless Markup Language) 184 7.2.4 RDF—Resource Description Framework 184 7.2.5 XML文档 184 7.2.6 PHP和Expat 190 7.2.7 DOM—Document Object Model 197 7.2.8 LibXML—一个基于DOM的XML 分析 200 7.3 用WDDX相互交换数据 205 7.3.1 WDDX 205 7.3.2 挑战 205 7.3.3 可能的情况 206 7.3.4 用WDDX抽象化数据 206 7.3.5 WDDX数据类型 207 7.3.6 PHP和WDDX 208 7.3.7 WDDX函数 208 7.4 小结 210 第8章 案例研究 211 8.1 BizChek.com 211 8.1.1 Web 邮件 211 8.1.2 选择PHP 212 8.1.3 渴望升级 213 8.1.4 结论 213 8.2 SixCMS 213 8.2.1 公司背景 213 8.2.2 开放代码的商务 214 8.2.3 为什么用PHP 214 8.2.4 技术考虑事项 214 8.2.5 实际生活中的PHP 215 8.2.6 PHP:一个商业优势 216 8.3 Marketplayer.com 216 8.3.1 公司的背景 216 8.3.2 PHP产品 217 8.3.3 为什么选择PHP 217 8.3.4 在MarketPlayer.com产品开发中使用PHP的优势 217 8.3.5 PHP实际生活中的竞争 218 8.3.6 会话 218 8.3.7 PHP服务器集成 219 8.3.8 代码管理 219 8.3.9 前景 219 8.4 小结 219 8.5 参考 220 第三部分 深入研究PHP 第9章 扩充PHP 4.0:探究PHP内核 221 9.1 概述 221 9.2 什么是Zend?什么是PHP? 221 9.3 扩充可能性 222 9.3.1 外部模块 222 9.3.2 内嵌模块 223 9.3.3 Zend引擎 223 9.4 源代码格式 223 9.4.1 宏 224 9.4.2 内存管理 225 9.4.3 目录和文件函数 225 9.4.4 字符串处理 226 9.4.5 复杂类型 226 9.5 PHP的自动建造系统 226 9.6 创建扩充 228 9.7 编辑模块 229 9.7.1 编辑使用Make 229 9.7.2 手工编辑 229 9.8 使用扩充 230 9.9 故障处理 231 9.10 源代码讨论 231 9.10.1 模块结构 231 9.10.2 标题文件包含 231 9.10.3 声明输出函数 232 9.10.4 Zend函数块的声明 232 9.10.5 Zend模块的声明 234 9.10.6 Get_module()的执行 236 9.10.7 所有输出函数的实施 236 9.10.8 小结 237 9.11 接收变量 237 9.11.1 决定变量的数目 237 9.11.2 获取变量 238 9.11.3 处理数目变化的变量/选项参数 238 9.11.4 访问变量 240 9.11.5 处理参考变量传递的参数 243 9.11.6 为其他参数确保写安全 245 9.12 创建变量 246 9.12.1 概述 246 9.12.2 长(整)型 249 9.12.3 双精度(浮点)型 249 9.12.4 字符串 249 9.12.5 布尔型 250 9.12.6 数组 250 9.13 对象 253 9.14 资源 254 9.15 利用自动全局变量创建的宏 255 9.16 复制变量内容:复制构造函数 256 9.17 返回值 257 9.18 打印信息 258 9.18.1 phpinfo()中包含输出 259 9.18.2 执行信息 260 9.19 启动和关闭函数 261 9.20 调用用户函数 261 9.21 下一步该做些什么 265 9.22 参考:一些配置宏 265

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值