<commit_before># 前言

狄更斯在他的双城记中第一句话就说：这是一个最好的时代，也是一个最坏的时代。

对于程序员来说确实是这样，回顾2016年可以说是前端和服务端齐头并进的时代，是新旧更替的时代，是众多新技术被广泛验证的时代，如经过2016年一整年洗礼后的React几乎成为了企业开发的标准配置，老牌的前端框架Bootstrap依然老骥伏枥，最新的Bootstrap 4已经进入了Alpha阶段，为2017年的发力做最后的准备，又如PHP 7.0在2015年下半年发布了RC版，在半年时间里收集问题、迭代更新，于2016年1月6日正式发布了7.0.2版本，使得PHP的整体性能提高了至少一倍以上，同时PHP的5.6也得到了长期的支持，最新的PHP 5.6.29在2016年12月8日正式发布，进一步巩固了PHP在服务的地位，此外阿里在2016年10月14日的杭州云栖大会上发布了基于MySQL数据库的AliSQL，在普通环境下其性能在MySQL的基础上提高了70%，而在特定环境下性能可以提高近百倍。

对于程序工程师来说，除了技术的变化，岗位的变更也在悄悄的进行，原先的前端工程师主要责任是负责Web页面的开发，但是到了2016年前端工程师熟悉的JavaScript不仅可以编写Web编写，还可以进行跨平台的应用开发，从大屏到小屏都能胜任，做到程序的一次编写就可以适用多种屏幕，甚至在性能方便不输于采用Java或者Object-C所开发的原生应用，此外原先负责后台应用的工程师也随着大数据、云计算普及也向着数据分析、数据整合、以及数据挖掘发展，特别是越来越多的中小型的创业企业通过运用类似与ThinkPHP这样基于PHP语言的快速开发框架从而验证项目的可行性，以确定项目的未来走向。

因此可以看出2016年中每一天我们的身边都在进行了翻天覆地的变化，技术的发展速度远远超过了个人学习的速度，可能几天不刷论坛，当再进入时就会冒出几个新名词，再过几天网上已经炒的沸沸扬扬，因此没有一本书或者作者能够一直站在技术的最前端，那么有没有一个全栈技术能够经久不衰，任凭外面技术如果的变化，但是它一直都能解决企业90%以上的问题？答案是肯定的，采用Bootstrap+PHP+MySQL就可以。

本书从实际工程应用入手，通过实验过程和实验现象讲解系统间的内在联系，并且通过研究各系统的设计原理和设计缘起，讲解在进行系统开发时的思考方法，由浅入深、循序渐进的方式深刻剖析了如HTML 5的语义设计思想、PHP 5中的面向对象的构建理念，以及MySQL数据库中的范式的意义，本书不同于传统讲解前端或者后端的书籍，把两者之间进行割裂，读者在阅读后依然没有一个完善的体系在心中，本书想通过真实的项目把作者的实践中的所思所想、学习方法，以及相对较为完善的体系与各位读者分享，从而能够快速适应这个变化的时代。另外，本书的内容均来自作者科研、教学和项目实践，因此所涵盖的内容是作者多年来经验的总结。

## 本书适用读者

目前国内对于各项技术相对入门的内容都有完善的书籍，因此本书在编写时对于一些相对基础的内容加入的较少，主要是以最新的、最稳定的技术为切入点，讲述在具体项目中的开发思路，以及对许多技术中相对原理性，但是又一般在很多书籍中不涉及的内容进行项目的阐述，因此在阅读本书时需要有一定的HTML5、CSS3、PHP、MySQL基础，或者这些技术有一定的了解，主要面向的读者有一下四种：

* 对Web开发有兴趣，并想深入了解原理的读者
* 基于Web的移动互联网开发人员
* 在大中专院校进行Web相关研究的老师
* 有志从事Web开发的在校学生

## 本书内容与组织结构

本书是我们团队编写的关于Web开发系列丛书中的一本，目的是帮助有HTML或者PHP相关基础的工程师能够通过学习本书更加深刻的理解各系统的运作机理，并把这些应用于实际项目中，从而提高项目的可维护性和可扩展性，全书共分为13个章节。

第1章介绍了Web全栈系统的定义、组成部分，以及特点，同时给出了一些在学习Web全栈开发时的知识体系和建议，最后阐述了Web全栈系统中的相关术语。

第2章介绍了与Web全栈系统紧密相关的HTML5、PHP、MySQL的基本概念，以及在整个系统中各模块之间关系。

第3章使用一个工程样例来讲解Web全栈系统的开发环境的搭建，并且通过记事本来实现HTML5、PHP、MySQL样例的操作，最后分析一个合理的工程模板的体系结构。

第4章介绍了在生产环境中Web全栈系统开发所用到的工具，以及这些工具的配置方法和使用方法，从帮助工程师提高开发效率。

第5章探讨了在HTML5中语义标签的使用方法和设计理念，然后讨论利用面向对象的概念来设计CSS3样式表，最后讲解面向对象的JavaScript的设计思路。

第6章探讨了响应式框架Bootstrap的设计原理和设计思路，并基于此讨论在前端开发中的开发规范，以及封装方法，然后在Bootstrap的基础上开发一个基于学生工作过程管理系统的登录界面。

第7章讨论了数据库设计时的几种范式的作用，并且讨论、设计出基于学生工作过程的数据库，最后探讨通过常用数据库操作指令来完成对数据库的操作。

第8章探讨了在面向对象程序设计思想下的PHP程序设计方法，并且讨论了在程序运行时内存的分配和回收机制，帮助工程师深入理解系统的工作原理。

第9章探讨了基于最新ThinkPHP 5.x框架的应用开发方法，并且在其中学习ThinkPHP的设计原理和实现过程，从而使得工程师能够更加的灵活运用该框架设计出高效的系统，然后再基于该框架的基础上开发一个基于学生工作过程管理系统的后台服务。

第10章探讨了基于标准化文档的项目开发流程，并且讲述这些文档的编写方法和作用，明确通过过程化的控制来达到整个项目的预期。

第11章在标准化项目文档的基础上探讨整个基于学生工作过程管理的开发，并且结合相关学习内容进行完成，从而使得整本书的内容能够学以致用。

第12章探讨基于现有系统上的微信应用的接入，讨论了微信相关接口的使用方法，以及与ThinkPHP框架的结合，从而帮助工程师能够紧跟时代。

第13章讨论基于微信端的小屏系统的适配，帮助工程师完成从大屏到小屏的无缝切换，同时也为在多平适配方面提供理论和应用基础。<commit_msg>完成前言内容的修改<commit_after># 前言

狄更斯在他的双城记中第一句话就说：这是一个最好的时代，也是一个最坏的时代。

对于程序员来说确实是这样，回顾2016年可以说是前端和服务端齐头并进的时代，是新旧更替的时代，是众多新技术被广泛验证的时代，如经过2016年一整年洗礼后的React几乎成为了企业开发的标准配置，老牌的前端框架Bootstrap依然老骥伏枥，最新的Bootstrap 4已经进入了Alpha阶段，为2017年的发力做最后的准备，又如PHP 7.0在2015年下半年发布了RC版，在半年时间里收集问题、迭代更新，于2016年1月6日正式发布了7.0.2版本，使得PHP的整体性能提高了至少一倍以上，同时PHP的5.6也得到了长期的支持，最新的PHP 5.6.29在2016年12月8日正式发布，进一步巩固了PHP在服务的地位，此外阿里在2016年10月14日的杭州云栖大会上发布了基于MySQL数据库的AliSQL，在普通环境下其性能在MySQL的基础上提高了70%，而在特定环境下性能可以提高近百倍。

对于程序工程师来说，除了技术的变化，岗位的变更也在悄悄的进行，原先的前端工程师主要责任是负责Web页面的开发，但是到了2016年前端工程师熟悉的JavaScript不仅可以编写Web编写，还可以进行跨平台的应用开发，从大屏到小屏都能胜任，做到程序的一次编写就可以适用多种屏幕，甚至在性能方便不输于采用Java或者Object-C所开发的原生应用，此外原先负责后台应用的工程师也随着大数据、云计算普及也向着数据分析、数据整合、以及数据挖掘发展，特别是越来越多的中小型的创业企业通过运用类似与ThinkPHP这样基于PHP语言的快速开发框架从而验证项目的可行性，以确定项目的未来走向。

因此可以看出2016年中每一天我们的身边都在进行了翻天覆地的变化，技术的发展速度远远超过了个人学习的速度，可能几天不刷论坛，当再进入时就会冒出几个新名词，再过几天网上已经炒的沸沸扬扬，因此没有一本书或者作者能够一直站在技术的最前端，那么有没有一个全栈技术能够经久不衰，任凭外面技术如果的变化，但是它一直都能解决大部分企业的问题？答案是肯定的，采用Bootstrap+PHP+MySQL就可以。

本书从实际工程应用入手，通过实验过程和实验现象讲解系统间的内在联系，并且通过研究各系统的设计原理和设计缘起，讲解在进行系统开发时的思考方法，由浅入深、循序渐进的方式深刻剖析了如HTML 5的语义设计思想、PHP 5中的面向对象的构建理念，以及MySQL数据库中的范式的意义，本书不同于传统讲解前端或者后端的书籍，把两者之间进行割裂，读者在阅读后依然没有一个完善的体系在心中，本书想通过真实的项目把作者的实践中的所思所想、学习方法，以及相对较为完善的体系与各位读者分享，从而能够快速适应这个变化的时代。另外，本书的内容均来自作者科研、教学和项目实践，因此所涵盖的内容是作者多年来经验的总结。

## 本书适用读者

目前国内对于各项技术相对入门的内容都有完善的书籍，因此本书在编写时对于一些相对基础的内容加入的较少，主要是以最新的、最稳定的技术为切入点，讲述在具体项目中的开发思路，以及对许多技术中相对原理性，但是又一般在很多书籍中不涉及的内容进行项目的阐述，因此在阅读本书时需要有一定的HTML5、CSS3、PHP、MySQL基础，或者这些技术有一定的了解，主要面向的读者有一下四种：

* 对Web开发有兴趣，并想深入了解原理的读者
* 基于Web的移动互联网开发人员
* 在大中专院校进行Web相关研究的老师
* 有志从事Web开发的在校学生

## 本书内容与组织结构

本书是我们团队编写的关于Web开发系列丛书中的一本，目的是帮助有HTML或者PHP相关基础的工程师能够通过学习本书更加深刻的理解各系统的运作机理，并把这些应用于实际项目中，从而提高项目的可维护性和可扩展性，全书共分为8个章节。

第1章介绍了物联网环境中PHP如何定义，并且给出了物理网的体系架构和模块通信方式。

第2章介绍了解Web全栈系统的开发环境的搭建。

第3章介绍了在生产环境中Web全栈系统开发所用到的工具，以及这些工具的配置方法和使用方法，从帮助工程师提高开发效率。

第4章探讨了在面向对象程序设计思想下的PHP程序设计方法，并且讨论了在程序运行时内存的分配和回收机制，帮助工程师深入理解系统的工作原理。

第5章探讨了在HTML5中语义标签的使用方法和设计理念，然后讨论利用面向对象的概念来设计CSS3样式表，最后讲解面向对象的JavaScript的设计思路。

第6章探讨了响应式框架Bootstrap的设计原理和设计思路，并基于此讨论在前端开发中的开发规范，以及封装方法，然后在Bootstrap的基础上开发一个基于学生工作过程管理系统的登录界面。

第7章讨论了数据库设计时的几种范式的作用，并且讨论、设计出基于学生工作过程的数据库，最后探讨通过常用数据库操作指令来完成对数据库的操作。

第8章探讨了基于最新ThinkPHP 5.x框架的应用开发方法，并且在其中学习ThinkPHP的设计原理和实现过程，从而使得工程师能够更加的灵活运用该框架设计出高效的系统。
{'fraction_non_alphanumeric': 0.059991725279271824, 'fraction_numerical': 0.03392635498551924, 'mean_word_length': 35.908396946564885, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4753012', 'n_tokens_mistral': 4663, 'n_tokens_neox': 5416, 'n_words': 62}