LAMP兄弟连.
无兄弟,不编程
《细说PHP》是LAMP兄弟连为推广普及LAMP技术而推出的系列丛书之一,LAMP兄弟连——易第优教育旗下品牌(www.lampbrother.net),是国内最专业的LAMP平台技术互动社区,本书从策划到出版历时一年半之久,作者高洛峰及LAMP兄弟连所有编委人员对本书倾注了全部的心血,在保证原创的基础上,辅以大量应用实例,更加贴近实战、贴近项目,且融合易第优教育多年从事PHP与Linux教学的经验,在本书中增加了大量的习题并附录了教学视频,全书编写思路也充分考虑了读者学习时的接受程度而渐进讲解且知识点剖析细致。
写作本书的初衷不仅是为公司开发一本培训教材,更主要的原因是经常会有学员或网友让我为他们推荐一本PHP方面的书籍。而在现有的同类书籍中,注重每个知识点细节讲解的,以及介绍最新技术和规范的少之又少。为了帮助众多从事Web应用与开发的读者能够轻松并快速的掌握PHP技术,也为了提升笔者近年来一直致力于LAMP开源平台系列软件推广的进度,在融入了笔者多年的PHP应用开发和教学经验总结的基础上,并以实践为指导,以实用为目标精心编著了本书,讲解详细。目的是为PHP应用开发人员提供一整套实用的主流开发技术,让读者对PHP技术有更深刻、更系统的了解,可以系统地理解实际Web系统开发的完整思路。通过本书内容的学习足以完成动态网站的建设和一些常用的Web系统软件开发工作。
LAMP兄弟连将陆续推出PHP、Linux、Joomla!、Python等各方面的精品丛书,期望可以对LAMP等开源技术在国内的推广做一点贡献,也希望广大读者朋友继续支持我们,支持LAMP兄弟连。我们也将一直秉承LAMP兄弟连的口号“无兄弟,不编程!”,让众多的LAMP技术爱好者、从业者、创业者团结起来,拓展人脉、相互学习、相互帮助,为未来的职业发展打下良好的基础。LAMP兄弟连线下社团现正全国招新,欢迎对PHP、LAMP相关技术感兴趣的朋友加入到我们中来,社团会员可以享受到包括:原创视频、分享会员通讯录、线上线下技术讲座、工作推荐、交友聚会、协作开发及培训折扣等服务,具体的加入方式可以访问LAMP兄弟连网站。
教书育人,成就英才,一直是我们的目标,愿本书的出版,让更多朋友进入PHP的领域,成就自己的职场梦想!
易第优教育总经理 李超
LAMP兄弟连
专家团队
李明
HRBAR人力资源学院讲师,火龙果软件技术顾问,中农大网院特聘讲师,具有计算机行业八年从业经验,历任金蝶软件项目经理、即时科研集团北京研究院副院长、康盛创想PHPChina事业部总监等职。曾获微软认证讲师、即时科研集团金牌讲师、中国UNIX用户协会讲师。主持编写出版了《PHP5项目实战详解》、《完美应用Ubuntu》、《UNIX系统管理实用教程》、《Solaris8系统管理员指南》等多本计算机图书。近年来致力于推广LAMP开源软件及为大学生提供就业与职业素质指导。
李超
LAMP兄弟连,高级讲师。毕业于大连交通大学计算机系,曾任华育国际教育集团教学管理中心教学主管、高级讲师;香港即时科研集团华北区经理高级讲师;大连教育网软件开发工程师等职务。精通LAMP平台,对J2EE架构、Oracle数据库有比较深刻的研究。
高洛峰
现任北京易第优教育教学总监,具有五年软件开发工作经验,四年IT教学工作经验。曾在多家上市企业担任过技术总监、项目经理、高级软件工程师等职务,具有扎实的技术功底。国内资深的高级技术认证讲师,从事IT培训以来累计授课长达6000课时以上,培训近千名学员成功走向IT岗位,具有丰富的IT教学经验。熟悉掌握Unix、Linux、Windows等多种操作系统,一直从事嵌入式、C\C++、J2EE、J2ME、J2SE、PHP及Oracle数据库等技术研发工作。其中,对Web系统软件开发深有研究,近年来致力于推广LAMP开源平台系列软件。
马明
毕业于北京理工大学计算机网络与应用专业,曾从事卫星网络技术支持及安装维护,水利通讯网络工程实施及相关软件开发。长期在Linux环境下从事开发设计,熟练Linux操作系统和Eclipse集成开发环境,擅长PHP和Java的相关开发,深入理解OOP程序设计思想及软件开发过程。熟练模版及框架的Web开发,并熟练操作MySQL及Oracle数据库管理系统。项目经验:新疆水利灌区流量计费项目开发、卫星云图监控及广播系统开发、办公自动化OA、新闻和电子商务等Web项目开发。
潘炳臣
曾任香港即时科研集团教学总监,负责公司讲师队伍培训,Linux系统下的培训课程体系设置,相关培训教材制定、修改,以及讲师调派等管理工作。具有多年Linux下C++、Java、PHP开发经验,先后在财贸管理学校、联合大学、船舶学院和北京商业旅游学校等多所院校授课。主讲Linux系统下的LAMP、J2SE、J2ME、JSP、Oracle等课程。
王琳
.曾主持基于Web的企业CRM项目开发(使用技术LAMP),中铁一局物资进销存和网上报价系统的设计(使用LAMP技术),房地产楼盘销售管理软件和物业管理软件的设计(使用VB、Java技术),并曾就职于香港即时利尼克斯软件有限公司北京分公司、西安公司担任实习实训部经理,拥有丰富的项目研发经验和教学经验。深入理解OOP程序设计思想及软件开发过程,熟悉Linux操作系统平台,精通LAMP体系项目设计,Java网络通信程序设计以及J2ME手机游戏设计。
孙洪涛
LAMP兄弟连,高级讲师。毕业于东北林业大学计算机专业。深入理解OOP程序设计思想及软件开发过程,精通多种操作系统、嵌入式开发、C\C++、LAMP开发及Oracle数据库等技术。曾就职于西门子北京公司,从事C++开发与研究,及Oracle数据库管理与维护。开发经验:大型工业机械设备智能电器系统开发,哈药集团人员管理系统、办公自动化系统开发,企业门户及电子商务Web项目开发等。
刘晓环
LAMP兄弟连,高级讲师,资深PHP工程师。毕业于湘潭大学电子商务专业。Linux系统工程师,多年资深网站开发经验。曾就职于网页游戏第一平台51wan公司,熟悉SNS网站架构,熟悉对SNS组件的开发。精通LAMP架构,对大型网站速度优化有深入研究。开发经验:大型游戏用户平台、SNS网站开发、商务流程控制系统和网络商城等。
前 言..
LAMP是Linux + Apache + MySQL + PHP的标准缩写,无疑是当今Web开发中的最佳技术方案。网站服务器Apache、数据库管理系统MySQL和PHP脚本语言本身都是各自独立的开源软件,当结合在一起使用,并拥有高度的兼容性,就构成了一个强大的Web应用程序平台。与JSP和ASP相比PHP具有简易性、高安全性、开发速度快和执行灵活等优点,并且在LAMP平台中开发的项目,在软件方面的投资成本较低、运行稳定。因此现在越来越多的供应商、用户和企业投资者日益认识到,使用LAMP开源软件的组成平台构建以及运行各种商业应用和协作构建各种网络应用程序,变得更加具有竞争力,更加吸引客户。无论是从性能、质量还是价格上LAMP都将成为企业和政府信息化所必须考虑的平台。
超强资源配套学习,跟踪服务帮助读者提高
在本书所附的DVD光盘中,不仅给出了书中所有开发实例的源代码,读者在开发中可以直接使用。而且还赠送2.4GB与PHP配套的教学视频,长达30个小时。通过参考本书再结合视频教学光盘,可以加快对知识点的掌握,加快学习进度。
为了帮助读者能够学习到更多的PHP技术,本书还配有学习论坛http://bbs.lampbrother.net。在这个论坛中不仅可以下载常用的技术手册、安装LAMP环境所需要的开源软件和本书每章后面为读者安排的大量自测题配套答案,而且笔者及“LAMP兄弟连”的全体讲师和技术人员也会及时回答读者提问,与读者一起在线进行技术交流,并为读者提供各种技术文章,帮助读者提高开发水平,解决读者在开发中遇到的疑难问题。
本书特色
全部内容围绕PHP的面向对象思想设计编写,使读者对于PHP开发技术有深刻的理解,一步一步地引导读者从PHP面向过程的开发模式进入到面向对象的开发时代。
1.内容全面,编排合理
本书内容丰富,涵盖了PHP的绝大多数知识点,并在某一方面的介绍又从多个角度进行延伸,包括从PHP入门到内容完整的综合示例的全部内容。
2.案例丰富,注释详尽
几乎每个知识点都有对应的详实可运行的代码,所有实例代码的每一行都附有详细注释、说明及运行效果图。在每章的最后一节都结合一个详细的应用案例,把同一章中涉及到的零散知识点串在一起进行分析总结,步骤详细,可操作性强。
3.试题广泛,寓学于练
为了巩固读者对所学知识的掌握,更好的进行开发实践,在每个章节的最后都为读者安排了大量的和本章知识点配套的自测试题。更好地帮助读者掌握理论知识点,提高实际编程能力。
4.知识最新,面向对象
全部技术点以PHP 5版本为主,详细地介绍了PHP及与其相关的Web技术,可以帮助读者在较短的时间内熟悉并掌握比较实用的PHP技术。包括当前比较流行的DIV+CSS标准化网页布局、PHP面向对象技术、mysqli扩展模块、数据库抽象层PDO和Smarty模板等主流技术,实用性都比较强。
5.结合开发,跨多平台
本书的内容及所设计的实例全部以特定的应用为基础,读者在学习和工作过程中,可以直接应用本书给出的一些独立模块和编程思想。而且在最后一章中,以一个比较完整的、采用面向对象思想,通过MVC模式设计,并结合Smarty模板的CMS系统为案例,详细介绍了Web系统开发从设计到部署的各个细节,使读者通过实际的应用更好地进行开发实践,极具参考价值。另外,因为PHP可以适用于不同的操作系统平台,本书为了方便在不同平台上进行开发的读者学习,在介绍PHP技术时,针对Linux和Windows两个操作系统进行了对比介绍。而且在不同平台中对PHP技术有歧异的地方,在本书中也都重点指出。
本书结构
章 名 内 容
第1章 LAMP网站构建 引导读者进入Web开发领域,了解Web开发所需要的各种构件,掌握基于数据库的动态网站运行原理,以及PHP的功能、开发优势和发展趋势
第2章 搭建PHP的开发环境 搭建好PHP的开发环境,提供了在各种操作系统平台下最佳的搭建方式。包括在Linux系统下以源代码包方式搭建最好的LAMP环境和在Windows系统下独立安装各种PHP所需要的开发环境,还为初学者提供一种通过集成软件的方式快速搭建PHP的运行环境
第3章 Apache服务器的配置 针对使用Apache服务器发布PHP动态网站,详细介绍了Apache的工作原理和目录结构,还有Apache各个指令的配置,以及常用的功能模块设置与应用,为多个网站配置虚拟主机等内容
第4章 XHTML和CSS网页标准化布局 着重介绍了Web开发的前台技术相关知识,包括超文本标记语言HTML中的常用标签和层叠样式表CSS的常用属性,以及详细介绍了使用DIV+CSS进行标准化页面布局和一些与页面布局有关的案例分析
第5章 PHP的基本语法 详细介绍了PHP的基本语法,包括语言风格、数据类型、变量、常量、PHP和运算符和表达式的内容
第6章 PHP的语言结构 详细介绍了PHP的语言结构,包括条件语句、循环语句等流程控制结构,和函数声明与应用的各个环节
第7章 PHP中的数组与数据结构 详细介绍了PHP的数组与数据结构的应用,包括PHP数组的多种声明方式、PHP数组的不同遍历方法、PHP预定义超全局数组的使用和数组相关的大量处理函数,以及使用数组模拟数据结构的应用
第8章 PHP面向对象的程序设计 使用大量篇幅详细介绍了PHP面向对象的程序设计,包括面向对象的程序设计思想,类的声明、对象实例化、对象中的成员方法、类的封装、继承、多态,抽象类与接口,和一些常用的魔术方法,并结合实例详细介绍
第9章 字符串处理与正则表达式 详细介绍了PHP字符串的各种处理方式,包括应用字符串常用的处理函数,以及通过正则表达式对字符串进行分割、匹配、查找和替换等内容,并结合文章处理过程实例总结字符串处理的各种操作
第10章 PHP常用功能模块 详细介绍了PHP语言中常用的功能模块,包括错误和异常处理、日期与时间、动态处理图像操作等内容,并结合大量实例应用
续
章 名 内 容
第11章 文件系统处理 详细介绍了PHP文件系统的基本操作过程,主要包括文件和目录的读写、创建、删除、复制等操作,以及文件上传与下载的知识,并结合文件系统实例详细介绍文件和目录的各项操作
第12章 MySQL数据库设计 详细介绍了MySQL数据库的设计,本章全程结合网上书店示例介绍数据库在Web开发中的设计与应用。首先介绍关系数据库以及结构化查询语言(SQL)的基本知识,随后介绍SQL语句的基本语法,其中包括数据库和数据表的建立、SELECT查询语句的简单和高级应用,以及数据的插入、更新、删除等方法,并结合PHP的MySQL扩展模块,建立PHP与MySQL数据库的连接,并通过PHP中的MySQL函数系统进行数据处理等内容
第13章 PHP的mysqli扩展 详细介绍了PHP的mysqli扩展模块,PHP的mysqli扩展被封装到一个类中,它是一种面向对象的技术,只能在PHP 5和MySQL 4.1(或更高的版本)环境中使用,(i)表示改进,其执行速度更快,使用mysqli扩展和传统的过程化方法相比更方便也更高效,而且还可以使访问数据库工作变得更加稳定。本章重点介绍了mysql类、mysqli_result类和mysqli_stmt类的应用,和数据库事务处理在PHP中的应用,并通过MVC模式实现商品管理系统,全面介绍mysqli扩展模块在实际项目中的具体应用
第14章 数据库抽象层PDO 详细介绍了数据库抽象层PDO的应用,PDO可以支持绝大多数数据库系统,使用该类库可以很方便地进行跨数据库程序的开发及不同数据库间的移植,是实现同类的功能在PHP中最好用且效率最高的技术。本章首先对PDO的安装和类库进行详细介绍,随后讲解该类库的接口程序的语法,以及PDO对预处理语句的支持和通过PDO实现事务处理等内容
第15章 会话控制 详细介绍了PHP的会话控制,会话控制是一种面向连接的可靠通信方式,通常根据会话控制记录判断用户登录的行为。本章首先介绍Cookie和Session技术的工作方式,随后分别介绍Cookie和Session在PHP中的具体应用,最后通过一个邮件系统实例,全面介绍会话控制在实际项目中的具体应用
第16章 PHP的模板技术Smarty 详细介绍了现在最流行的模板引擎技术—Smarty,通过Smarty技术可以将网站的页面设计和PHP应用程序逻辑几乎完全分离。本章首先通过编写自己的简单模板引擎,让读者了解模板技术在PHP中的应用,随后详细介绍了Smarty类库的安装及初使化配置、Smarty模板中的程序逻辑、创建配置文件、处理页面缓存技术等内容,最后通过应用Smarty实现分页示例,全面介绍Smarty模板引擎在实际项目开发中的具体应用
第17章 内容管理系统(CMS) 详细介绍一个内容管理系统(CMS),是PHP与数据库的开发实例。本书按照软件开发的基本过程,以系统的需求分析、概要设计、数据库设计和系统的详细设计为基本开发步骤,详细介绍了CMS系统开发的全部过程。该系统包含一系列典型的功能模块,如系统安装、无限分类、图片编辑、文章管理、模板设计等模块,本书深入剖析常用模块的开发思路、实现方法和技术,为读者开发动态网站提供了很好的参考
附录A PHP配置文件详解 对PHP的配置文件进行了中文详解,并非是对英文版php.ini的简单翻译,而是参考了众多资料以后,结合笔者的理解,增加了许多内容,包括在原有php.ini基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。本书针对开源模块编辑,所以删除了除MySQL和PostgreSQL以外的其他数据库模块配置选项
本书适合读者
接受PHP培训的学员
Web开发爱好者
网站维护及管理人员
初级或专业的网站开发人员
大中专院校的教师及培训中心的讲师
进行毕业设计和对PHP感兴趣的学生
从事ASP或JSP而想转向PHP开发的程序员...