PHP7实践指南:O2O网站与App后台开发 epub pdf mobi txt 电子书 下载 2024
发表于2024-11-09
PHP7实践指南:O2O网站与App后台开发 epub pdf mobi txt 电子书 下载 2024
在Web开发领域,PHP因免费开源、语法简单属于类C风格语言,具有良好的跨平台性而受到广大业内人士的支持。经过多个预发布版本, PHP 5.0在2004年7月13日发布。该版本使用Zend引擎Ⅱ,并且加入了新功能,完全支持面向对象。2015年12月3日,PHP 7.0.0 GA发布,性能较PHP 5.6提升了两倍,新增了一些操作符和函数的返回类型声明,也增加了对匿名类的支持等。关于PHP 7的讨论在网上也逐渐展开。不过到目前为止,国内有关专门介绍PHP 7应用开发的书籍还很少,本书的目的就是对现有的PHP 7技术进行一个汇总,书中内容是笔者在PHP 7学习和实际工作项目中的心得体会和系统总结,希望能够帮助PHP 7学习者更好地了解其新特性,并应用于实际开发中。
本书由专业的PHP开发工程师精心编撰,全书循序渐进地介绍了PHP 7编程的基础知识与实战开发技能,初学PHP开发的读者通过学习本书能够熟练地进行PHP应用程序开发。本书的核心内容包括:PHP基础语法、函数、面向对象编程、PHP类、常见的设计模式、正则表达式、PHP操作图像和文件、MVC架构思想、ThinkPHP框架、NoSQL与MySQL等。另外,还介绍了当前热点的O2O网站开发和App后台开发的关键技术,有助于读者掌握PHP在现代Web软件开发领域中的应用。
本书是作者在PHP 7学习及实际工作项目中的心得体会和系统总结,内容丰富、实用性强。适合PHP 7开发新手、使用PHP进行各类开发的程序员,也适合作为企业内部培训、培训机构和大专院校的教学参考书。
陈小龙,奇虎360软件工程师,是国内较早研究微信开发和PHP 7技术的一批人;同时为PHP7plus.cn站长、plus技术社群和plus自媒体联盟发起者、知乎专栏作者、51CTO认证讲师,著有图书《微信公众平台开发实战与应用案例》。
第1章 走进PHP的世界 1
1.1 快速认识PHP 2
1.1.1 PHP语言的的优势 2
1.1.2 PHP的运行机制和原理 3
1.1.3 关于PHP 7 5
1.2 HTML和CSS 6
1.2.1 HTML元素 6
1.2.2 HTML常用标签 7
1.2.3 CSS语法 11
1.2.4 CSS选择器 12
1.2.5 CSS样式 14
1.2.6 CSS 框模型 16
1.3 JavaScript简介 18
1.3.1 JavaScript数据类型 18
1.3.2 JavaScript基本语句 21
1.3.3 JavaScript函数和事件 26
1.3.4 常用的JavaScript框架和库 29
1.4 PHP开发环境搭建 30
1.5 代码编辑器 31
1.6 编写第一个PHP程序 32
第2章 PHP语言基础 33
2.1 PHP的数据类型 34
2.2 运算符 37
2.3 变量 42
2.4 常量 45
2.4.1 常量的声明 45
2.4.2 预定义常量 46
第3章 流程控制语句 48
3.1 条件控制语句 49
3.1.1 if条件控制语句 49
3.1.2 switch分支语句 50
3.2 循环控制语句 51
3.2.1 while循环 51
3.2.2 do while循环 52
3.2.3 for循环 53
3.2.4 foreach循环 54
3.3 跳转语句 56
3.3.1 break语句 56
3.3.2 continue语句 56
3.3.3 goto语句 56
3.4 包含语句 57
3.4.1 include语句 57
3.4.2 include_once 语句 59
3.4.3 require语句 60
3.4.4 require_once语句 60
第4章 函数 61
4.1 函数的使用 62
4.2 函数的参数 62
4.2.1 参数传递方式 62
4.2.2 参数类型声明 64
4.2.3 可变参数数量 66
4.3 函数返回值 67
4.4 可变函数 68
4.5 内置函数 69
4.6 匿名函数 69
4.7 递归与迭代 71
第5章 字符串 73
5.1 单引号和双引号的区别 74
5.2 字符串连接符 74
5.3 字符串操作 75
5.3.1 改变字符串大小写 75
5.3.2 查找字符串 75
5.3.3 替换字符串 78
5.3.4 截取字符串 79
5.3.5 去除字符串首尾空格和特殊字符 79
5.3.6 计算字符串的长度 80
5.3.7 转义和还原字符串 80
5.3.8 重复一个字符串 81
5.3.9 随机打乱字符串 82
5.3.10 分割字符串 82
第6章 数组 83
6.1 使用数组 84
6.1.1 数组类型 84
6.1.2 创建数组 85
6.2 二维数组和多维数组 87
6.2.1 二维数组 87
6.2.2 多维数组 87
6.3 数组操作 88
6.3.1 检查数组中是否存在某个值 88
6.3.2 数组转换为字符串 88
6.3.3 计算数组中的单元数目 89
6.3.4 数组当前单元和数组指针 89
6.3.5 数组中的键名和值 90
6.3.6 填补数组 93
6.3.7 从数组中随机取出一个或多个单元 97
6.3.8 数组排序与打乱数组 97
6.3.9 遍历数组 100
6.3.10 数组的拆分与合并 104
6.3.11 增加/删除数组中的元素 106
6.3.12 其他常用数组函数 108
6.4 系统预定义数组 112
6.4.1 $_SERVER 112
6.4.2 $_GET和$_POST数组 114
6.4.3 $_FILES数组 115
6.4.4 $_SESSION和$_COOKIE数组 116
6.4.5 $_REQUEST[]数组 116
第7章 时间与日期 117
7.1 设置时区 118
7.1.1 在配置文件中设置 118
7.1.2 通过date_default_timezone_set函数在文件中设置 118
7.2 获取当前时间 118
7.3 常用时间处理方法 121
7.3.1 格式化时间显示 121
7.3.2 计算两个日期间的时间差 124
7.3.3 从字符串中解析日期时间 124
7.3.4 日期的加减运算 125
7.4 验证日期 125
第8章 表单 127
8.1 表单的种类 128
8.1.1 文本域及其类型 128
8.1.2 其他表单类型 131
8.2 get和post方法 133
8.2.1 获取表单值 134
8.2.2 处理上传文件 134
第9章 类与对象 137
9.1 什么是类 138
9.1.1 声明一个类 138
9.1.2 实例化一个类 139
9.1.3 访问类中成员 139
9.1.4 静态属性和静态方法 141
9.1.5 构造方法和析构方法 142
9.2 封装和继承特性 143
9.2.1 封装特性 144
9.2.2 继承特性 145
9.2.3 通过继承实现多态 146
9.3 魔术方法 147
9.3.1 __set()和__get()方法 147
9.3.2 __isset()和__unset()方法 148
9.3.3 __call() 和__ toString() 方法 150
9.4 自动加载 151
9.4.1 __autoload() 方法 151
9.4.2 spl_autoload_register() 函数 152
9.5 抽象类和接口 153
9.5.1 抽象类 153
9.5.2 接口 154
9.6 类中的关键字 156
9.6.1 final关键字 157
9.6.2 clone 关键字 157
9.6.3 instanceof 关键字 158
9.6.4 “==”和“===” 159
第10章 正则表达式 160
10.1 正则表达式的用途 161
10.2 正则表达式的语法 161
10.2.1 正则表达式中的元素 161
10.2.2 替换和子表达式 165
10.2.3 反向引用 166
10.3 在PHP中使用正则表达式 167
第9章 类与对象
面向对象编程(Object Oriented Programming,OOP)是一种被很多语言广泛支持的编程模式,有别于之前的面向过程编程。面向对象编程的思想是把具有相似特性的事物抽象成类,通过对类的属性和方法的定义实现代码共用。其将实现某一特定功能的代码部分进行封装,这样可被多处调用,而且封装的粒度越细小被重用的概率越大。面向对象编程的继承性和多态性也提高了代码的复用度。总之,面向对象编程充分地体现软件编程中的“高内聚,低耦合”的思想。
9.1 什么是类
面向对象编程就是要把需要解决的问题抽象为类。在现实生活中我们可以找到很多种这样的例子,比如可以抽象出这个世界上的一个物种为人类,人类具有身高、体重、腰围等属性,同时人类还可以执行一些动作,比如行走、吃饭、跳跃等。同理,在编程中,抽象出的类也具有这样的属性和动作,不过在类中我们把这种“动作”称作类的方法。比如常用的数据库连接类,在这个类中一般会包含数据库类型、数据库的HOST、数据库用户名、密码等属性,同时也包含一些数据库操作的方法,如插入、更新、查询、删除数据等。数据库连接类的示例图如图9-1所示。
图9-1 数据库连接类
9.1.1 声明一个类
类在使用前需要声明,声明一个类使用关键词class,比如声明一个数据库连接类,例如:
class conn{
private $dbtype = 'mysql';
private $host = '127.0.0.1';
private $username = 'root';
private $password = '123456';
private $pre = 'zwt_';
public function insert(){}
public function update(){}
public function delete(){}
public function select(){}
}
?>
以上代码声明了一个包含数据库连接属性和操作方法的类conn,其中的private和public是定义属性和方法的关键词,其规定了被定义的属性和方法可在什么地方被访问。
$dbtype、$host、$username、$password、$pre是该类中的属性,function 定义类中的方法。
9.1.2 实例化一个类
在声明一个类之后,要使用类中的方法,一般需要先实例化一个类,这个实例便是类中的对象。创建一个类的实例使用关键词new。示例如下:
class conn{
private $dbtype = 'mysql';
private $host = '127.0.0.1';
private $username = 'root';
private $password = '123456';
private $pre = 'zwt_';
public function insert(){}
public function update(){}
public function delete(){}
public function select(){}
}
$connObj = new conn();
var_dump($connObj);
?>
本例创建了类conn的一个实例。如果是在类内部创建实例,可以使用new self来创建新对象。一个类可以实例化多个对象,每个对象都是独立的个体,这些实例化的对象拥有类中定义的全部属性和方法。当对其中一个对象进行操作时,比如改变该对象的属性等,不会影响其他对象。
9.1.3 访问类中成员
实例化一个类后,要访问类中的成员,可使用符号“->”,请看下面的示例:
class conn{
public $dbtype = 'mysql';
private $pre = 'zwt_';
public function test(){
echo "test";
}
}
$obj = new conn();
$obj->test();
echo $obj->dbtype;
?>
该例中使用“->”访问类conn中的test对象。
在对象方法执行的时候会自动定义一个$this的特殊变量,表示对象本身的引用。通过$this->形式可引用该对象的方法和属性,其作用就是完成对象内部成员之间的访问,示例如下:
class conn{
public $dbtype = 'mysql';
public function test(){
echo $this->getDbtype();
}
public function getDbtype(){
echo $this->dbtype;
}
}
$obj = new conn();
$obj->test();
?>
访问对象的成员有时还可使用“::”符号。使用该符号一般有以下3种情况:
? parent::父类成员,这种形式的访问可调用父类的成员变量常量和方法。
? self::自身成员,这种形式的访问可调用当前类中的静态成员和常量。
? 类名::成员,这种形式的访问可调用类中的变量常量和方法。
“::”符号的使用示例如下:
class conn{
public $dbtype = 'mysql';
const HOST = '127.0.0.1'; // 在类中使用const定义常量HOST
public function test(){
echo "test";
//echo $this->getDbtype(); //静态方法getDbtype()不能在类内部以$this->的形式访问
}
public function test1(){
echo self::HOST; // self访问常量HOST
self::getDbtype(); // self访问静态方法getDtype()
}
public static function getDbtype(){ //使用static修饰的方法称为静态方法
echo "mysql";
}
}
$obj = new conn();
$obj->test1();
conn::test(); // 没有实例化类,使用“::”访问类中的方法
?>
本示例运行结果为:
127.0.0.1mysqltest
9.1.4 静态属性和静态方法
在PHP中,通过static关键词修饰的成员属性和方法称为静态属性和静态方法。静态属性和静态方法可在不被实例化的情况下直接使用。
1. 静态属性
在类中,有一个静态属性的概念。和常规属性不一样的是,静态属性属于类本身,而不属于任何实例。因此其也可称为类属性,以便和对象的属性区分开来。静态属性使用 static 关键词定义,在类外部可使用“类名::静态属性名”的方式访问,在类内部可使用“self::静态属性名”的方式访问。
示例如下:
class myclass{
static $staticVal = 0;
function getStatic(){
echo self::$staticVal;
self::$staticVal++;
}
}
echo myclass::$staticVal; // 输出 0
$obj = new myclass();
$obj->getStatic(); // 输出 0
echo myclass::$staticVal; // 输出 1
?>
执行以上程序的结果为:
001
可见在实例化的对象中改变了静态属性 $staticVal 的值,再次访问类属性时其值已被改变。
2. 静态方法
和静态属性相似,使用static修饰的方法称为静态方法,也可在不被实例化的情况下使用,其属于类而不是被限制到任何一个特定的对象实例。因此 $this 在静态方法中不可使用,但可在对象实例中通过“$this->静态方法名”的形式调用静态方法,在类内部需要使用“self::静态方法名”的形式访问。示例代码如下:
class myclass{
static $staticVal = 0;
public $val = 100;
static function getStaticVal(){
echo self::$staticVal;
}
前言
编写本书的目的
在Web开发领域,PHP因免费开源、语法简单属于类C风格语言,具有良好的跨平台性而受到广大业内人士的支持。经过多个预发布版本,PHP5.0在2004年7月13日发布。该版本使用Zend引擎Ⅱ,并且加入了新功能,完全支持面向对象。2015年12月3日,PHP7.0.0GA发布,性能较PHP5.6提升了两倍,新增了一些操作符和函数的返回类型声明,也增加了对匿名类的支持等。关于PHP7的讨论在网上也逐渐展开。不过到目前为止,国内有关专门介绍PHP7应用开发的书籍还很少,本书的目的就是对现有的PHP7技术进行一个汇总,书中内容是笔者在PHP7学习和实际工作项目中的心得体会和系统总结,希望能够帮助PHP7学习者更好地了解其新特性,并应用于实际开发中。
本书内容简介
本书共分22章,从最基础的HTML知识和PHP开发环境的搭建开始,逐渐深入介绍PHP7的相关特性和开发实践。
第1章介绍PHP的运行机制和PHP7的新特性,讲解PHP程序员必须要学习的HTML、CSS和JavaScript知识,学习搭建PHP的开发环境,并编写第一个PHP程序。
第2章介绍PHP的基础知识,包括PHP的数据类型、运算符、变量和常量的知识。
第3章讲解PHP7中的各种常用流程控
PHP7实践指南:O2O网站与App后台开发 epub pdf mobi txt 电子书 下载 2024
PHP7实践指南:O2O网站与App后台开发 下载 epub mobi pdf txt 电子书 2024PHP7实践指南:O2O网站与App后台开发 mobi pdf epub txt 电子书 下载 2024
PHP7实践指南:O2O网站与App后台开发 epub pdf mobi txt 电子书 下载好
评分内容一般,零基础的可以作参考。
评分嗯
评分很不错很不错很不错很不错很不错很不错很不错很不错
评分买了有一个星期了,质量没问题
评分帮同事采购的书,不知道怎么样
评分不错学习学习
评分不错不错不错不错不错
评分不错不错!
PHP7实践指南:O2O网站与App后台开发 epub pdf mobi txt 电子书 下载 2024