PHP课程中实际项目案例分析

以实际项目开发过程教学,让编程学习变得更简单

项目式教学方式分析



       学习软件开发课程,最终的目标就是开发软件项目,基于IT课程的学习特点, 项目式教学才能让学猿更好更全面的掌握技术,也能让学到的技术更实用。 学习猿地采用多个项目贯穿式教学,每个课程关联的技术点很多, 在有限的时间内很难讲解全面,而通过项目植入到课程中,就可以赛选出实际应用的知识点重点讲解。 另外,通过项目功能模块应用的技术反推出来的知识点,能让学猿更容易理解知识点的应用,达到学以致用的目的, 又可以举一反三,可以快速提高。也可以通过项目实战挖掘课程中没有讲到的新知识点, 扩展一下应用的知识面。

       大多数有丰富经验的程序员拥有自己的私人开发库,可以让程序猿在开发新项目时使用大约30%的重用代码来开发软件, 课程中的多个不同类型的项目也可以为学猿积累自己的私人开发代码库。

       另外,教学中的项目应用和实际商业项目还是有一些区别的,首先,并不是项目越大、需求越复杂越好, 因为用大项目教学让学员感觉很混乱,达不到学习的目标,有可能起到反作用。其次,教学项目使用的都是学员比较常见的类型项目,这样的项目需求不需要讲解学猿也很清除业务,能直接联想到开始步骤上, 就可以把精力都放在功能实现上。还有就是在教学项目中不会去实现商业项目中所有的功能, 而是会去简化功能和业务流程, 去除重复的功能模块, 同时也会在项目中应到一些反例代码,为了讲解不同的知识点的应用。 而教学项目和商业项目相同的地方也很多, 比如在软件工程方面的软件开发流程、开发工具使用、代码管理、团队合作,以及与客户沟通等方面是一致的。 当然,教学项目也有一些超过商业项目的地方,例如在具体的一些项目模块基础上,会设想多情况扩展开发下去,为让学员接触到更多的知识点。

       学员在项目阶段学习时,不仅只为实现表面的功能, 一定要做到像素级别的还原, 只有问题考虑周全, 注重每个细节,反复实验, 才能在项目开发课程中得到全面的提高。

项目一 网络游戏社区



       社区是当前比较流行的一种网站形式,用户可以在社区中进行提问,其他用户可以进行回答,用户也可以在社区中发布一些经验相关的信息供其他用户阅读和收获, 用户还可以在社区中发布一些有价值的资源,其他用户如果想要获得资源,则必须支付一定的社区货币来完成交易,这些都是社区的一些价值。它帮助用户与用户之间产生交互, 并且完成信息的交换或者是资源的交换,大大的提高了用户获取资源的效率,比如我是一个游戏爱好者,我可以加入游戏的社区来快速获取游戏的相关介绍和游戏的技巧玩法, 再比如说我是一个技术爱好者,我可以到技术社区中获取相关的技术发布,并且可以通过发帖来提问问题,其他用户可以帮助自己解决问题。

项目背景:

       鉴于社区能够提高用户的互动,以及资源的分享和交换,再加上社区项目非常适合用PHP开发, 其内部的功能实现也涵盖了PHP中大部分的功能特性,而且项目中也需要用到数据库的知识,学员可以掌握Web项目的组成结构,故此社区项目选用为PHP入门的第一个项目。

项目目标:

       该社区项目采用windows系统下的经典组合 WAMP 架构,其中涉及到的技术点有HTML,CSS,PHP,MySQL,Apache,通过此项目学员需掌握Web项目的开发流程,掌握Web开发的常用技术, 除此之外还能掌握编辑器,浏览器以及数据库操作工具PHPMyadmin的使用。项目中涉及到网站前台和后台的布局和搭建,所以学员还需学会网页的布局技术,页面调试技巧,PHP脚本调试技能。

项目功能:

       社区系统的功能主要分为两大模块,一是前台,二是后台。前台主要包括的功能有注册、登录、找回密码、首页、频道页、详情页、个人中心页的展示,以及发帖、回帖、签到的功能实现, 后台功能主要包括数据的管理,其中包括用户管理,帖子管理,版块管理,分区管理,网站设置,后台登录等。



项目涉及技术点:

       此社区项目需要的技术点分为两大模块,一是前端,另一个是后端。前端模块主要用到的技术为Div+CSS,利用该技术可以布局社区的前台页面和后台页面,并对页面进行样式的调整和优化。 后端模块主要用的技术有Apache,PHP,MySQL。Apache用来接收HTTP协议的请求,并将请求交给PHP来处理,PHP语言处理请求,对客户端做出正确的响应,而MySQL则负责对数据进行存取,网站的绝大部分的数据都是存储在MySQL中。


Div+CSS布局
  • - HTML常用标签
  • - CSS常用样式
  • - 网页数据提交
全球有90% 的网页是由HTML语言编写的,而网页的布局在HTML5发布之前都是用都Div+CSS的技术来进行页面布局的,第一个项目我们将采用Div+CSS的技术来完成页面布局,后续的页面布局我们将采用HTML5的标签来布局。
PHP过程化编程技术
  • - PHP基本语法
  • - PHP流程控制
  • - PHP常用函数
  • - PHP时间处理
PHP是网站开发领域的领头羊,全球有83%网站采用PHP技术进行构建,完善的工具库,性能卓越的PHP框架都奠定了它在网站开发中霸主的地位。此项目我们将采用原生PHP的技术来构建,后续我们将使用PHP框架来开发。
数据库基本操作
  • - MySQL安装与启动
  • - MySQL常用命令
  • - MySQLi 扩展操作数据库
MySQL是全球使用率最高的开源免费数据库,跟PHP和Apache组成经典的LAMP组合,安全高效,我们使用原生的MySQLi扩展对数据库进行增、删、改、查操作。
集成化开发环境配置
  • - PHPStudy安装与启动
  • - 虚拟主机配置
PHPStudy是一款免费的集成化开发环境,内置Apache、PHP、MySQL、PHPMyAdmin等软件,并且可以非常轻松的切换PHP的版本。

项目测试:

       在完成代码开发之后,需要对代码进行功能测试,按照功能图一个一个的进行测试,如果功能出现异常,则第一时间进行问题修复,然后重新开始新一轮的测试,因为代码变动很可能导致原来已经测试的功能出现异常。


项目上线:

       项目测试完毕没有Bug之后,需要做两件事情,一是将代码通过FTP工具上传到云空间,二是将数据库数据导出,并通过工具导入到空间对应到数据库中,完成这两件事之后,我们就可以通过域名访问我们的网站了。效果图如下:



项目二 视频网站



       该项目是一个针对优酷视频一对一的仿制项目,主要是对 ThinkPHP 框架的一次技术提升和深化了解 MVC 框架的理解,以便更好的理解 MVC 框架。目前优酷作为中国领头羊式的在线视频网站, 其技术成熟,功能全面,用户量大,提供的服务多,非常适合做技术练习。而且除了有视频技术,它还是典型的UGC(用户原创型) 网站,由用户自主提交原创视频,再播放给用户观看,用户管理和权限也是练习的模块。

项目背景:

       这几年,随着用户带宽的增加,带动了在线原创视频的蓬勃发展。不论国内还是国外,在线视频市场都呈现出一派生气,全球数字娱乐业持续发展。从在线游戏,在线音乐, 在线视频到网络媒体。IT汗液的发展日新月异,对人类的生产和生活方式产生了很大影响。网络传播以其持有的快速、高效、便捷的传输方式被人们所接受,越来越多的走进了千家万户。 最重要的是,在人与人之间越来越陌生的环境里,ta 到底有什么喜闻乐见或者有趣又好玩的事情,都需要传递,信息的传播显得尤为重要。全球数字娱乐业、网络电视等迅速发展,无不充斥着激烈的竞争,新一代的80后, 90后已经逐步成为这个世界的主人,他们是在互联网成长起来的新一代主人翁,更甚至互联网的重要性。

项目目标:

       该原创视频项目采用 windows 系统下的经典组合 WAMP 架构,框架采用国人自建的 ThinkPHP v3.2 作为整个项目的主框架, 采用 BootStrap 作为前端的辅框架,其中涉及到的技术点有 HTML,CSS,PHP,MySQL、Apache,JavaScript,MVC等基础知识。 通过此项目需掌握 Web 项目的开发流程,掌握Web开发的常用技术,还需要能熟练操作编辑器,浏览器以及数据库操作工具PHPMyadmin的使用。项目中涉及到网站前台和后台的布局和搭建, 所以学员还需学会网页的布局技术,页面调试技巧,PHP脚本调试技能。

项目功能:

       该系统的功能主要分为两大模块,一是前台,二是后台。前台主要包括的功能有注册、登录、找回密码、首页、频道页、详情页、个人中心页的展示、 粉丝数以及视频观看、留言的功能实现,后台功能主要包括资源管理、分类管理、用户管理,评论管理,权限管理,网站配置,广告管理,轮播管理等。



项目涉及技术点:

       此仿优酷项目需要的技术点分为两大模块,一是前端,另一个是后端。前端模块主要用到的技术为BootStrap, 利用该技术可以为系统部署前台页面和后台页面,并对页面进行样式的调整和优化。后端模块主要用的技术有Apache,PHP,MySQL。Apache用来接收HTTP协议的请求, 并将请求交给PHP来处理,PHP语言处理请求,对客户端做出正确的响应,而MySQL则负责对数据进行存取,网站的绝大部分的数据都是存储在MySQL中,再加上整个项目是在 ThinkPHP 框架基础上搭建出来的,需要对该此框架熟悉。


BootStrap布局
  • - 全局CSS样式
  • - 组件
  • - JS插件系统
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。  Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。
ThinkPHP框架
  • - ThinkPHP介绍及基本使用
  • - 项目的开发流程
  • - 项目的身份校验方式
  • - 虚拟主机的配置
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,遵循Apache2开源协议发布。 ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。
数据库抽象层PDO
  • - 自定义Model类
  • - PDO执行语句过程
  • - 事务处理方式
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。 PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。在PDO的基础上我们自定义一个Model类,通过该类操作数据库。
Linux下环境搭建
  • - 常用命令
  • - 系统管理
  • - 网络应用
  • - PHP的环境搭建
关于linux系统下如何部署php项目环境,有一定的参考价值,和实用价值, 在实际项目上线都是应用这样的环境。 linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装。

项目测试:

       在完成代码开发之后,需要对代码进行功能测试,按照功能图一个一个的进行测试,如果功能出现异常,则第一时间进行问题修复,然后重新开始新一轮的测试,因为代码变动很可能导致原来已经测试的功能出现异常。


项目上线:

       项目测试完毕没有Bug之后,需要做两件事情,一是将代码通过FTP工具上传到云空间,二是将数据库数据导出,并通过工具导入到空间对应到数据库中,完成这两件事之后,我们就可以通过域名访问我们的网站了。项目效果图如下:



项目三 招聘APP



       该项目是一个单页的APP项目,主要通过这个项目来对前端的内容进行实战,主要的功能有职位的列表和显示,公司的列表和显示,消息列表,个人中心等页面的功能实现。 本项目只包含前端页面的实现,并不做后端实现。这个阶段将包含前端开发的大部分内容,框架部分项目选择的是Vue。Vue是近两年发展势头非常迅猛的一个前端框架,全家桶对开发效率的提升也是非常的明显。

项目背景:

       鉴于现在招聘市场的火热,并且社会上出现了企业招人难,人们找工作难这样的一个现象,我们通过构建一个直招的平台,希望能帮助企业招到合适的人,也帮助那些找工作的人招到一个合适的职位。

项目目标:

       通过该项目让学员掌握现代前端开发的流程以及相关的技术栈。掌握Vue框架的使用,掌握Webpack打包工具的使用,掌握CSS预处理器Less的使用,了解Sass和Stylus,掌握SPA项目的开发过程。

项目功能:

       该项目的主要功能在于前端。前端的功能主要有四个,职位、公司、消息、个人中心。职位模块中包含职位的列表和详情,公司模块包含企业的列表和详情, 信息是沟通的记录,个人中心是关于个人的内容,如简历的制作,个人信息的修改等。


项目涉及技术点:

       该项目的主要功能在于前端,该社区项目采用nodejs的开发环境,其中涉及到的技术点有HTML,CSS,JavaScript,jQuery,Vue,Vue-router,Vuex,Nodejs,Npm,Vue-cli,webpack,Less、Sass、Stylus等。


JavaScript
  • - JavaScript基础
  • - BOM
  • - DOM
  • - Ajax
JavaScript是一门主要运行在浏览器端的脚本语言,网页上大部分的动画效果都是由它来实现的。它是一门非常灵活的语言。
jQuery
  • - jQuery介绍
  • - jQuery节点操作
  • - jQuery特效实现
  • - jQuery Ajax发送
jQuery是前端非常热门的一个工具库,它的出现大大降低了前端开发的难度,并且解决了大部分的兼容性问题,对于前端开发来讲不会jQuery就不是一个优秀的前端开发工程师。
Vue
  • - Vue介绍和使用
  • - Vue-router路由
  • - Vuex状态管理
Vue是前端非常热门的一个开发框架。注意它和jQuery的区别,jQuery只是一个库,而Vue是一个前端框架。它的主要特性是数据驱动,能够通过数据来完成对视图的渲染,开发效率得到的很大的提升。
Nodejs
  • - Nodejs介绍、安装、使用
  • - NPM使用
  • - Webpack使用
  • - CSS预处理器
  • - ES6语法特性
Nodejs是JavaScript的一个运行环境,它的出现让JavaScript可以运行在服务器端。NPM是全球最大的包管理平台,它就像哆啦A梦的魔法口袋,里面有数十万的工具供开发者使用。ES6是新的JavaScript的标准,支持更多的语法。

项目测试:

       在完成代码开发之后,需要对代码进行功能测试,按照功能图一个一个的进行测试,如果功能出现异常,则第一时间进行问题修复,然后重新开始新一轮的测试,因为代码变动很可能导致原来已经测试的功能出现异常。


项目上线:

       由于该阶段项目是只是前台部分,所以暂时不能上线,等到后端接口开发完毕之后再一起上线。项目效果图如下:


项目四 高性能APP接口开发实战



       该项目是一个单页的APP项目,上一个项目我们完成了前端的交互部分,这一个项目我们将来完成后端的功能。后端主要是完成对数据的管理,为前台的展示做好数据服务。

项目背景:

       现在的项目开发中,接口是很普遍的应用技术。现在好多项目组都会单独设有接口开发人员。像腾讯、微博、淘宝等开放平台, 其实所谓的开放,就是提供一些可调用的接口,用于获取到他们的相关信息。例如:微信用户基本信息、淘宝店铺、商品消息等等,然后在根据这些信息,在你的应用里完成交互。 可以看作是程序架构设计、业务逻辑和设计模式的应用。我们在定义接口时,通过有两种规范,一种是被其他内部项目调用的接口,另一种是对外的接口,主要提供给外部开发者调用的。 两种接口最大区别就是,内部接口不需要太严格的身份验证,而对外接口需要严格的身份验证,加密解密方式各种各样。

项目目标:

       该项目的主要目标在于掌握APP接口的封装,框架的使用,数据的管理等。通过此项目让学员能够掌握APP接口的开发流程以及相关工具的使用。并且掌握第三方接口的使用,比如短信接口,邮件接口,支付接口等。

项目功能:

       该项目的主要功能在于后端,其中包括后台的搭建,职位的管理,公司的管理,简历的管理,用户的管理等。 接口封装部分是整个项目最为重要的部分,其中包括用户的注册和登录接口,简历接口,企业接口,用户信息接口,职位接口等。



项目涉及技术点:

       此项目设计的技术点主要在于后端,其中框架部分选择laravel,接口开发部门选择dingo,接口验证部分采用JWT,除此之外还涉及一些开发工具例如接口测试工具 PostMan,接口管理工具 Yapi。

框架开发
  • - Laravel
  • - Dingo接口开发工具
  • - JWT 接口校验技术
  • - Auth2.0 开放授权协议
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
接口开发
  • - 接口工作原理
  • - PostMan
  • - Yapi 接口管理工具
  • - 第三方接口。如短信、邮件、支付接口
  • - 开放平台,如QQ、微信登录
WePY 框架在开发过程中参考了 Vue 等现有框架的一些语法风格和功能特性,对原生小程序的开发模式进行了再次封装,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。
开发环境
  • - PHPStudy 集成开发环境
  • - 阿里云生产环境
应用云服务器是一种弹性可伸缩的计算服务,助开发企业降低 IT 成本,提升运维效率,使程序开发人员可以更专注于核心业务创新。 而且还有专业的售前技术支持,协助开发人员选择最合适配置方案。

项目测试:

       在完成代码开发之后,需要对代码进行功能测试,按照功能图一个一个的进行测试,如果功能出现异常,则第一时间进行问题修复,然后重新开始新一轮的测试,因为代码变动很可能导致原来已经测试的功能出现异常。


项目上线:

       结合上一个阶段所做的前端项目,进行上线。该阶段还会涉及项目的上线,购买阿里云服务器,进行环境搭建,域名解析,Git代码拉取等,最终完成项目的上线。项目效果图如下:



项目五 微信小程序



       短视频APP是这两年比较火的一个题材,该项目通过微信小程序完成抖音APP的功能,用户可以在小程序中即可浏览小视频内容, 免去了下载APP的操作。13亿全国人口就会有13亿甚至更多的故事,怎么样快速的把这 么多故事拍成有质有量的微电影而不是粗略的短视频?短视频采用小程序的运作模式, 将全国的优秀影视机构与13亿有故事的人们连接起来,让需求方与拍摄方紧密的通过小程序联系起来,双方不用见面直接通过小程序了解需求,沟通需求

项目背景:

       对于生活在快节奏的人们而言,每个人都对电影有一种向往的深切情怀,向往着自己有一天能够成为影片的主人公,影片当中某个场景的演员, 每个人心中都住着一个电影梦。许多人心中都会有许多个故事,很多人都只是把心中的故事记录成文字版本,如何快速的将文字版本变成视频或者微电影,演绎他们人生宝贵的故事财富, 让更多的人侧面了解这段往事,是很多人的梦想但又不方便实现的事情。

项目目标:

       该项目的主要目标在于掌握微信小程序开发的流程和相关的工具的使用,还要掌握其中框架的使用。其中微信小程序文档中的内容是重点学习和掌握的对象。它是进行小程序开发的基石。所有小程序的功能都依赖它。

项目功能:

       社区系统的功能主要分为两大模块,一是前台,二是后台。前台主要包括的功能包括用户登录、视频浏览,视频点赞,评论功能。后台的主要功能有用户管理,视频管理,评论管理,后台设置等。



项目涉及技术点:

       此短视频小程序主要使用的是小程序相关的开发技术,其中包括小程序原生的组件和API,还包括官方开发框架 wepy的使用,其中还包括其他的一些前端的开发技术,如NPM,ES6,组件化开发等。

小程序基础
  • - 视图容器
  • - 基础组件
  • - 媒体组件
  • - 地图组件
小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。小程序提供了非常多的组件类似HTML中的标签,可以非常方便的创建小程序的界面。
小程序框架
  • - wepy框架
  • - NPM
  • - ES6
  • - AJAX
WePY 框架在开发过程中参考了 Vue 等现有框架的一些语法风格和功能特性,对原生小程序的开发模式进行了再次封装,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。
后端框架
  • - Composer
  • - Laravel
  • - 框架内置的数据库操作
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
开发环境
  • - 微信开发者工具
为了帮助开发者简单和高效地开发和调试微信小程序,微信官方在原有的公众号网页调试工具的基础上,推出了全新的微信开发者工具,集成了公众号网页调试和小程序调试两种开发模式。

项目测试:

       在完成代码开发之后,需要对代码进行功能测试,按照功能图一个一个的进行测试,如果功能出现异常,则第一时间进行问题修复,然后重新开始新一轮的测试,因为代码变动很可能导致原来已经测试的功能出现异常。


项目上线:

       项目开发完成以后一定要上线测试运行,在项目部署上线的时候,可能会发生各种各样的错误,一定要若按照课程中的步骤进行部署,错误便会大大的减少。项目效果图如下:


项目式教学额外的收获



       通过课程中多个项目的植入讲解,除了可以收获技术和项目代码之外,更能收获软件工程方面的知识,和讲师经验的分享。可以直接获得项目的管理,其中涉及团队协作,项目代码管理,项目进度管理,开发团队的维护和管理。 除此之外还可以了解到如何进行客户沟通,以及整个项目的开发流程,宏观认识项目。 这些项目中贯穿了项目工程内容,涉及代码管理、团队协作、项目流程、客户沟通以及相关工具的使用。

代码管理
  • - Git安装
  • - 代码时光机
  • - 多人合作
  • - 分支特性
  • - 远程仓库
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 其中很多的特性相较于svn,cvs更加的强大,特别是分支特性,更好的维护产品代码,保证代码的健壮性。
团队协作
  • - 文档管理
  • - 设计图管理
  • - 团队人员分工
  • - 员工沟通技巧X
团队协作是团队运作非常重要的一个环节,直接影响整个项目能否顺利完成。其中还包括员工的沟通,考核已经后续的升职加薪。
项目开发流程
  • - 原型制作
  • - 设计图制作
  • - 数据库设计
  • - 框架开发
  • - 软件测试
  • - 上线部署流程
了解整个项目的开发流程对开发人员有着非常重要的意义,开发人员可以在宏观角度来认识项目,并提高和其他部门之间的配合,为后续的升职加薪做好准备。
客户沟通
  • - 客户沟通
客户是公司生存的经济来源,与客户的沟通显得至关重要,企业技术总监亲自讲述与客户沟通的那些事。

加群主微信
购买后
拉进交流群
学习交流
¥2048元 立即购买
¥4096元 立即购买