《:PHP7实践指南:O2O网站与App后台开发陈小龙》[58M]百度网盘|pdf下载|亲测有效
《:PHP7实践指南:O2O网站与App后台开发陈小龙》[58M]百度网盘|pdf下载|亲测有效

:PHP7实践指南:O2O网站与App后台开发陈小龙 pdf下载

出版社 万泽惠远图书专营店
出版年 2017-05
页数 390页
装帧 精装
评分 9.0(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供:PHP7实践指南:O2O网站与App后台开发陈小龙电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

基本信息

书名:PHP7实践指南:O2O网站与App后台开发

定价:79.00元

作者:陈小龙

出版社:清华大学出版社

出版日期:2017-05-01

ISBN:9787302470281

字数:666000

页码:401

版次:1

装帧:平装

开本:16开

商品重量:0.4kg

编辑推荐


在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.站长、plus技术社群和plus自媒体联盟发起者、知乎专栏作者、51CTO认证讲师,著有图书《微信公众平台开发实战与应用案例》。

文摘


第9章 类与对象
面向对象编程(Object Oriented Programming,OOP)是一种被很多语言广泛支持的编程模式,有别于之前的面向过程编程。面向对象编程的思想是把具有相似特性的事物抽象成类,通过对类的属性和方法的定义实现代码共用。其将实现某一特定功能的代码部分进行封装,这样可被多处调用,而且封装的粒度越细小被重用的概率越大。面向对象编程的继承性和多态性也提高了代码的复用度。总之,面向对象编程充分地体现软件编程中的“高内聚,低耦合”的思想。
9.1 什么是类
面向对象编程就是要把需要解决的问题抽象为类。在现实生活中我们可以找到很多种这样的例子,比如可以抽象出这个世界上的一个物种为人类,人类具有身高、体重、腰围等属性,同时人类还可以执行一些动作,比如行走、吃饭、跳跃等。同理,在编程中,抽象出的类也具有这样的属性和动作,不过在类中我们把这种“动作”称作类的方法。比如常用的数据库连接类,在这个类中一般会包含数据库类型、数据库的HOST、数据库用户名、密码等属性,同时也包含一些数据库操作的方法,如插入、更新、查询、删除数据等。数据库连接类的示例图如图9-1所示。

图9-1 数据库连接类
9.1.1 声明一个类
类在使用前需要声明,声明一个类使用关键词class,比如声明一个数据库连接类,例如:

n

class conn{
private $dbtype = 'mysql';
private $host = '127.0.0.1';
private $username = 'root';
private $password = '123456';
private $pre = 'zwt_';
public functioinsert{}
public functioupdate{}
public functiodelete{}
public functioselect{}
}
?>
以上代码声明了一个包含数据库连接属性和操作方法的类conn,其中的private和public是定义属性和方法的关键词,其规定了被定义的属性和方法可在什么地方被访问。
$dbtype、$host、$username、$password、$pre是该类中的属性,functio定义类中的方法。
9.1.2 实例化一个类
在声明一个类之后,要使用类中的方法,一般需要先实例化一个类,这个实例便是类中的对象。创建一个类的实例使用关键词new。示例如下:

n

class conn{
private $dbtype = 'mysql';
private $host = '127.0.0.1';
private $username = 'root';
private $password = '123456';
private $pre = 'zwt_';
public functioinsert{}
public functioupdate{}
public functiodelete{}
public functioselect{}
}
$connObj = new conn;
var_dump($connObj);
?>
本例创建了类conn的一个实例。如果是在类内部创建实例,可以使用new self来创建新对象。一个类可以实例化多个对象,每个对象都是独立的个体,这些实例化的对象拥有类中定义的属性和方法。当对其中一个对象进行操作时,比如改变该对象的属性等,不会影响其他对象。
9.1.3 访问类中成员
实例化一个类后,要访问类中的成员,可使用符号“->”,请看下面的示例:

n

class conn{
public $dbtype = 'mysql';
private $pre = 'zwt_';
public functiotest{
echo 'test';
}
}
$obj = new conn;
$obj->test;
echo $obj->dbtype;
?>
该例中使用“->”访问类conn中的test对象。
在对象方法执行的时候会自动定义一个$this的特殊变量,表示对象本身的引用。通过$this->形式可引用该对象的方法和属性,其作用就是完成对象内部成员之间的访问,示例如下:

n

class conn{
public $dbtype = 'mysql';
public functiotest{
echo $this->getDbtype;
}
public functiogetDbtype{
echo $this->dbtype;
}

}
$obj = new conn;
$obj->test;
?>
访问对象的成员有时还可使用“::”符号。使用该符号一般有以下3种情况:
? parent::父类成员,这种形式的访问可调用父类的成员变量常量和方法。
? self::自身成员,这种形式的访问可调用当前类中的静态成员和常量。
? 类名::成员,这种形式的访问可调用类中的变量常量和方法。
“::”符号的使用示例如下:

n

class conn{
public $dbtype = 'mysql';
const HOST = '127.0.0.1'; // 在类中使用const定义常量HOST
public functiotest{
echo 'test';
//echo $this->getDbtype; //静态方法getDbtype不能在类内部以$this->的形式访问
}
public functiotest1{
echo self::HOST; // self访问常量HOST
self::getDbtype; // self访问静态方法getDtype
}
public static functiogetDbtype{ //使用static修饰的方法称为静态方法
echo 'mysql';
}
}
$obj = new conn;
$obj->test1;
conn::test; // 没有实例化类,使用“::”访问类中的方法
?>
本示例运行结果为:
127.0.0.1mysqltest
9.1.4 静态属性和静态方法
在PHP中,通过static关键词修饰的成员属性和方法称为静态属性和静态方法。静态属性和静态方法可在不被实例化的情况下直接使用。
1. 静态属性
在类中,有一个静态属性的概念。和常规属性不一样的是,静态属性属于类本身,而不属于任何实例。因此其也可称为类属性,以便和对象的属性区分开来。静态属性使用 static 关键词定义,在类外部可使用“类名::静态属性名”的方式访问,在类内部可使用“self::静态属性名”的方式访问。
示例如下:

n

class myclass{
static $staticVal = 0;
functiogetStatic{
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::静态方法名”的形式访问。示例代码如下:

n

class myclass{
static $staticVal = 0;
public $val = 100;
static functiogetStaticVal{
echo self::$staticVal;
}

序言