<细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现的,都是十分有特点.优秀的开源语言,但PHP却获得了比Python和Ruby多得多的关注度.现在越来越多的新公司或者新项目,新的开发类型都在使用PHP,这使得PHP相关社区越来越活跃,而这又反过来影响到很多项目或公司的选择,形成一个良性的循环.就目前的情况来看,PHP是国内大部分Web项目的首选,很多公司的团…
目录 一.Introduction 1.抽象过程 2.面向对象语言(包括Java)的五个基本特性 3.每个对象都提供服务 4.public.private.protected三者的区别 5.Java的默认访问权限(包访问权限) 6.组合与继承 7.多态 8.容器(自己最浅显的理解) 9.参数化类型 10.并发编程 二.Everything Is an Object 1.用引用操纵对象 2.存储位置 3.基本类型(无需使用new即可创建) 4.new创建对象的作用域 5.static的作用 6.j…
2.5  如何学习PHP PHP以其简单易学的特点,以及敏捷开发的优势,从一个几乎不被人知的开源项目,慢慢成长为技术人员首选的动态Web设计工具,与其他语言相比,PHP表现得更好.更快.更简单易学.尽管如此,我们在面对一项自己不熟悉的新技术时,仍然会感到无所适从,不知道从何处入手,似乎总是感觉摸不出一条清晰的脉络来.另外,最大的障碍莫过于学习的过程枯燥乏味,从而失去学习兴趣.不过,如果你能掌握一种适合你的学习方法,就可以事半功倍.根据笔者多年的PHP教学经验,和众多人才培养的成功案例,列出的学习…
23.6  使用第三方接口服务实例 接供服务的第三方接口平台有很多,现在的项目中也经常用到一些第三方接口,如支付宝.微信.短信.邮件接口等,我们需要借助第三方的能力来实现产品的某些功能.如果自己已经掌握了实现开发接口的方法,应用第三方接口就比较容易了,它们都遵循RESTful风格API的原则,原理是相似的.本节我们来演示通过调用第三方接口获取天气信息,放到自己的网站上的方法. 23.6.1  查找API 用谁的接口,就需要到谁的平台上查找接口的使用文档.例如,想对微信公众平台的服务号进行二次开发…
23.5.3  WebAPI框架应用 程序框架其实就是一个半成品项目,在应用框架时,核心的服务程序只应用,不需要改动.当然如果有必要,也可以根据项目的需要对框架进行二次开发.本节内容主要基于我们的框架,完成对WebAPI的访问交互.例如,现在有这样一个简单需求,在客户端PHP程序中,需要通过我们自定义的API对远端数据库中的表user(使用本章前面介绍过的表user),进行增.删.改.查等操作. 首先,我们需要在服务器中创建一个user表的操作模型类,通过统一的操作模型对表进行管理.当然,对表操…
23.5.2  架构详解 本例的实现最重要的就是服务层的设计,有两个配置文件config.php和api.php,其中文件config.php是全局的配置文件,用于整个程序全局需要的参数设置.可以根据程序扩展需求,在配置文件中增加新的配置选项.config.php文件的内容如下所示: 本例配置文件采用PHP常量和数组两种格式,直接加载这个文件,常量就可以在任意位置使用,数组也可以作为全局变量直接在程序中使用.这个配置文件中包含了项目根目录“S_ROOT”和程序根目录“DS”两个常量,以及一个多维…
23.4  API的设计原则和规范 API是服务提供方和使用方之间对接的通道,前面我们设计的一些简单API的例子,基本上比较随意,没有使用任何规范.设想一下,每个平台都可能存在大量的API,如果API设计没有原则,也没有统一的规范,按开发者的意愿随意编写,访问千差万别的API,不仅让API的使用非常麻烦,对API的改动也会导致项目或移动App无法工作.当然,一个好的规范对于解决这些事情能起到事半功倍的作用.如果想让服务端的价值更好地体现出来,就要好好设计API.通过使用规范的API,我们的服务或…
23.2  接口实现的基础 大家都很了解函数在本地应用,通过名称调用函数执行,并通过传递不同参数,函数有不同执行,执行后给调用者返回结果.如果把一个函数做成一个接口远程访问,也需要这几个步骤.使用HTTP的GET或POST等,通过URL并附带参数请求接口,接口执行后将返回值传回远端的调用者.请求者可以是浏览器,可以是PHP或其他语言程序,也可以是页面中的Ajax等.当然,接口返回值的格式也是统一的,要让各种语言和设备的请求者可以操作,通常使用XML或JSON格式作为返回数据. 23.2.1  实…
如今的项目开发中,接口是很普遍的应用技术.现在好多项目组都单独设有接口开发人员.像腾讯.微博.淘宝等开放平台,其所谓的开放,就是提供一些可调用的接口,用于获取相关的信息.例如,微信用户基本信息.淘宝店铺.商品消息等,再根据这些信息,在应用里完成交互.虽然本章不会涉及太多PHP语言本身的新技术点,但可以看作程序架构设计.业务逻辑和设计模式的应用.我们在定义接口时,通常有两种规范,一种是被其他内部项目调用的接口,另一种是对外的接口,主要提供给外部开发者调用.两种接口最大区别是,内部接口不需要太严格的…
18.9  管理表books实例 在Web项目中,几乎所有模块都要和数据表打交道,而对表的管理无非就是增.删.改.查等操作,所以熟练掌握对表进行管理的这些常见操作是十分有必的.本例为了能更好地展示PDO的应用,并没有将数据表的操作封装成一个数据库操作类,而是采用了过程化的编写方式,用最直接的方式实现. 18.9.1  需求分析 本例主要的目标是实现对图书信息表books的管理过程,包括添加图书.修改图书.删除图书.遍历图书列表.搜索图书等操作.创建数据表books的SQL语句如下所示. 创建后,…