2014年辛星PHP教程夏季版.pdf
《2014年辛星PHP教程夏季版.pdf》由会员分享,可在线阅读,更多相关《2014年辛星PHP教程夏季版.pdf(169页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2014 年辛星 PHP 教程夏季版 1/169 2014 年辛星 PHP 教程夏季版 建议:搜索“辛星 php”可以找到更新更全更实用的教程,辛星,期待您的关注。说明:如果您在一年后看到了本教程,那果断可以丢弃了,因为肯定有更新的版本出现了。呼吁:如果您想和我联系,不管是想得到我的资料,还是跟我交流想法,或是想和我写后续版本,都可以发邮件给我:,谢谢。我们的特色:更新更全更实用。我们的口号:快乐编程,幸福生活。前进的路上,辛星陪伴您。只要星哥在,编程充满爱。2014 年辛星 PHP 教程夏季版 2/169 目录:前言4 第一部分:PHP 最基础的知识 第零节:简介 PHP 以及开发环境搭建6
2、 第一节:变量的类型及其运算和赋值11 第二节:流程控制结构17 第三节:函数29 第四节:数组和字符串35 第五节:其他一些知识43 第二部分:PHP 在 web 开发中的简单应用 第零节:本部分内容简介49 第一节:表单的使用以及 GET 和 POST51 第二节:Cookie 和 Session55 第三节:数据库的简单操作62 第四节:PHP 操纵数据库74 第五节:其他一些说明84 2014 年辛星 PHP 教程夏季版 3/169 第三部分:使用 PHP 写一个论坛程序 第零节:功能简介和编写思路85 第一节:数据库建模和大致模板的创建87 第二节:编写函数库和测试库以及其他说明99
3、 第三节:实现用户模块功能104 第四节:实现版块功能114 第五节:实现看帖和发帖的功能121 第六节:实现用户中心的功能129 第七节:总结134 第四部分:PHP 的面向对象 第零节:面向对象简介136 第一节:类和类的实例化138 第二节:继承、接口和抽象类152 第三节:静态、常量、再看$this161 第四节:总结166 后记167 2014 年辛星 PHP 教程夏季版 4/169 前言*PHP 情结*1.我想可能很多人和我一样,如果接触过 Java 和 C+这种笨重的语言,那么一定会喜欢 PHP 这种小巧的语言。2.第一次接触 PHP,就感觉好爽啊,写的程序直接用浏览器查看就可以
4、了,不像 Java,封装的那么深。3.而且 PHP 框架也多数是非常的简洁而小巧的,不像 Java框架那么笨重,我想读完一遍 PHP 框架是非常现实的,但是随便一个 Java 框架,你读一遍还不得累个半死。*对几种主流语言的评价*1.当然,既然是主流语言,肯定自有它的价值,但是,每个人都会有自己的看法,这一点也是毋庸置疑的。2.C+和 C 是出了名的学习曲线陡峭,原因很简单,光是一个指针就够头疼了,而且对内存的管理,注定使用 C 和 C+是一件很累的事,因此 C 和 C+也多用于对响应速度要求较高的应用程序中,而且 C 和 C+也多数是算法党,热衷于速度和效率。3.Java 在早些时间就是出了
5、名的响应慢,但那时很久以前的事情了,现在的 Java 的运行语速已经可圈可点了,而且Java 在移动端的开发也确定了它的无可替代性,而且 Java适合做大型应用,围绕着它的技术也是层出不穷,是一门非常赞的语言。4.Python 算是一个比较全能型的语言了,可以开发桌面应用,也可以做 web,还可以写网络爬虫,也可以作为系统管理员使用的语言,还可以做数值计算,等等,几乎是一门全能的语言,但是各个方面都没有第一的感觉,但是各个方面又还不错。2014 年辛星 PHP 教程夏季版 5/169 5.Ruby 绝对算是一门非常优秀的语言,特别对于开发 web应用来说,而且 rails 框架一统 ruby,
6、也是非常的赞,但是很可惜中日关系历来不好,因此,这门语言想在中国普及,难上加难。6.C#、VB 等语言,我是从心里不喜欢,主要原因就是因为它们是微软的产品,但是 C+不是微软的产品,虽然微软的VS 使用人群很广泛。7.对于 Objective-C 等语言,我也是不感兴趣,不做评判,对于 Pascal 和 Delphi,只能说是时代的眼泪。8.对于 PHP,我还是特别喜欢的,不管它有什么缺点,但是它小巧、灵活,开发速度快的优点确实抹杀不掉的,而且专为 web 而生,做起 web 来也是得心应手。*本教程*1.本教程是 2014 年第一版,肯定会涉及到面向对象等方面的知识,而且会讲到一个框架,我的
7、首选还是国内的TkinkPHP.2.而且我也会涉及一些 MySQL 的知识,毕竟,PHP 和 MySQL的关系太好了。3.对于前台界面的编写,基本的 HTML 和 CSS 知识我想大家还是应该拥有的,我也会编写一本教程具体讲解,这里就不过多解释了。*版权*1.本教程版权归辛星本人所有,但是可以自由传阅、修改和印刷。2.辛星 PHP 教程,期待您的支持。2014 年辛星 PHP 教程夏季版 6/169 第一部分:PHP 最基础的知识 第零节:简介 PHP 以及开发环境搭建*PHP 简介*1.PHP 是 Hypertext Preprocessor 的缩写,即超文本预处理器,是一种开源的脚本语言,
8、其解释器使用 C 语言写成。2.PHP 专门为开发 web 应用程序而生,而且学习门槛相当低,使用也非常广泛,当前的最近版本是 PHP5.6。3.可以看到 PHP 的市场占有率从 2002 年之后就已经比较客观了,但是从 2010 年开始有所下滑,现在市场占有率肯定不如 Java,但是能稳定在第四到第八名把,还算是一门很不错的编程语言。4.下面是 TIOBE 统计的编程语言榜单:5.PHP 的主要优势就是跨平台免费且开源,而且效率很高,简单易学。2014 年辛星 PHP 教程夏季版 7/169 *PHP 的历史*1.PHP 的历史比较悠久,在 1994 年由 Rasmus 创建,主要用于维护个
9、人网站,因此是 Personal Home Page,即个人主页的意思。2.1995 年 PHP 正式发布了它的 1.0 版本,在 1996 年 6 月 8日发布了 PHP2,截至 1996 年底,有 15000 个网站在使用PHP。3.1997 年,Zeev 和 Andi 重写了 PHP 的解析器,发布了PHP3。4.2000 年 5 月 22 日正式发布 PHP4,在 2004 年 7 月 13 日正式发布了 PHP5。2008 年 PHP5 成为了唯一开发的版本,PHP6 正在开发中。*开发环境的搭建*1.如果你是新手,我还是建议用集成开发环境,如果您是老手,那就随意了。2.PHP 的集
10、成开发环境还是挺多的,我还是推荐 wamp,大家可以到 http:/ 年辛星 PHP 教程夏季版 8/169 3.然后傻瓜式的安装,最后会有一步选择默认浏览器,选择自己喜欢用的就好,我喜欢用的就是谷歌浏览器。*开始*1.然后我们运行 wamp,在它的托盘上右键点击,其中有个语言的选项,可以选择自己喜欢的语言,不过建议选择chinese。2.然后我们左键单击该托盘,点击 www 目录进入它:2014 年辛星 PHP 教程夏季版 9/169 3.然后我们可以新建一个 my.php,输入如下内容:4,保存之后,在浏览器中输入 http:/localhost/my.php,截图如下:2014 年辛星
11、PHP 教程夏季版 10/169 5.整个运行过程简单把,我们写完一个 php 文件之后可以立即运行,无需任何的编译过程,可以直接在浏览器中查看。2014 年辛星 PHP 教程夏季版 11/169 第一节:变量的数据类型以及赋值和运算*变量*1.绝大多数编程语言都支持变量这一概念,我们用变量表示那些可变的量。2.PHP 中的变量名以$符号开头,这一点受 Perl 的影响,PHP 中的变量名可以是数字字母下划线的组合,但是建议以字母开头,以驼峰法命名(即每个单词的首字母大写)。3.比如$a 和$aMan 都是合法的变量名,而且变量命名最好不要与关键字冲突,虽然前面加了一个$符号,但是这样也容易引
12、起歧义。*注释*1.注释里面的内容是不会被解释执行的,只是让我们来看的。2.注释可以分为单行注释和多行注释,单行注释有 C+风格的/,在两个斜线后面的内容到这一行结束会被当做注释,不会被执行。3.单行注释还支持 shell 风格的#注释,在#号之后到这一行结束也不会被解释执行。4.它还支持多行注释,即 C 语言风格的,以/*开头,以*/结尾,中间的内容会被当做注释。5.看下面截图:2014 年辛星 PHP 教程夏季版 12/169 *数据类型*1.PHP 的基本数据类型如下:第一类是布尔类型(boolean),取值只有两个即真和假,真为 True,假为 False。第二类是整数类型(int),
13、取值即整数,包括正整数、0和负整数。第三类是浮点型(float),由于其他语言中会分为单精度和双精度,即 float 和 double,但是在 PHP 中只有一个,就是 float。第四个是字符串类型(string),它可以用单引号括起来,也可以用双引号括起来,都表示字符串。2.下面是程序的执行截图(我们可以使用 var_dump 这个函数来查看该变量的数据类型和其值,至于函数,我们后面会讲的):2014 年辛星 PHP 教程夏季版 13/169 3.PHP 的赋值使用等号,我们上面就进行了多次赋值,每次赋值都是一个语句,都必须在其后使用分号与其他语句进行分隔开。*运算*1.数据之间可以运算,
14、PHP 也支持大多数运算符,其实我不建议大家记忆某些语言专属的运算符,容易混乱。2.数值类型(即整数和浮点数)之间可以进行加(+)、减(-)、乘(*)、除(/)、取模(%)等运算。3.其中取模可以理解为我们小学的时候的余数,即被除数除以除数得到商和余数,这里的余数就是取模得到的结果,比如 5 除以 2 商 2 余 1,则 5%2 的结果就是 1.2014 年辛星 PHP 教程夏季版 14/169 4.布尔值之间可以进行逻辑运算,两个布尔变量可以进行与运算(&),或运算(|),单个布尔变量还可以进行非运算(!)。5.两个布尔变量进行与运算的时候,只有都为 True,运算结果才为 True,两个布
15、尔变量进行或运算的时候,只要有一个变量为 True,则运算结果就为 True。6.程序运行截图如下;7.字符串可以用“.”号进行拼接,如下代码示例:2014 年辛星 PHP 教程夏季版 15/169 *比较运算符*1.PHP 还支持比较运算符,比如=表示是否相等,它的左边和右边各有一个变量,如果相等,则运算结果为 True,否则为 False,而=则要求不两个变量不仅值要相等,还要类型相同才返回 true。2.=要求左边的变量大于右边的变量才返回 True,=要求左边的变量小于右边的变量是返回 True,而!=则是在两者不等时返回 True.3.比较运算符的运算结果都是布尔值,比如如下代码示例
16、:*简化了的运算符*1.有时候我们会简化运算符来方便书写,比如我们用$a+代替$a=$a+1,用$b-来代替$b=$b-1。2014 年辛星 PHP 教程夏季版 16/169 2.还有就是复制运算符可以于加减乘除和取模连用来得到其简化形式,比如$a+=5 表示$a=$a+5;其他的-=,*=,/=,%=都是类似的。3.PHP 还支持所谓的三目运算符,它多用于复制运算,包括一个?和一个:如果问号前面的值为真,则取值为问号和冒号中间的值,否则取值为冒号后面的值,看如下代码及运行效果:*总结*1.本小节我们学习了变量的赋值和简单运算,还了解了变量的四种基本数据类型。2.如果读者有其他语言的基础,将会
17、非常快速的入门,如果没有其他语言基础,也不要着急,多看几遍,多跟着代码敲几次,很快就会熟悉的。3.如果感觉本小节课程写的哪里又不好之处,请联系我:,谢谢。2014 年辛星 PHP 教程夏季版 17/169 第二节:流程控制结构*程序执行顺序*1.上面我们一直没有讲到的一点就是我们的程序是如何执行的,但是大家从第一节的示例代码中大致可以感觉到,我们的代码是从上向下执行的。2.没错,它不像 C 语言那样从 main 函数开始执行,而我们的 PHP 脚本包括 Python 脚本都是从上向下执行的,而不是从某个特定的函数开始执行。3.那么我们能够改变它的执行流程呢?答案是可以的,那我们通常包括顺序结构
18、、选择结构和循环结构这三种控制程序执行顺序的结构。*选择结构*1.所谓选择结构,既然要选择,就要进行判断,我们大多数编程语言都是支持 if 作为选择结构的起始的。2.即我们先写一个 if,然后跟一个布尔值,如果该布尔值为真,则执行后面的代码,否则则跳过后面的代码,代码示例如下:2014 年辛星 PHP 教程夏季版 18/169 3.上面的结果我们判断一个条件,如果满足条件,则执行相应的功能,那么如果不满足的时候我们想执行另一条功能该怎么办呢?4.万能的 PHP 提供了 else,来提供当我们的 if 条件不满足的时候想执行某些功能的情况:2014 年辛星 PHP 教程夏季版 19/169 5.
19、用于的要求是苛刻而残忍的,有时候我们要求使用多个判断,我们可以使用多个 if 嵌套的方式,即在 else 里面再次用 if 进行判断,但是势必会造成代码膨胀,伟大的PHP 提供了更丰富的形式:*语句块和语句*1.不知道是否我们的读者对这个大括号的使用会存在疑问,如果没有疑问,那么说明您有过类 C 语言的基础,如果有的话,下面我来解释一下。2.我们知道,一条语句就是一个独立的功能,一次赋值是一个语句,echo 一个内容也是一个语句。3.但是有时候我们需要多个语句一起使用,于是就有了语句块,它可以把多个语句当成一个语句的功能。2014 年辛星 PHP 教程夏季版 20/169 4.比如我们 if
20、语句后面的大括号就是一个整体,如果 if判断的结果为真,那么该大括号里面的所有内容都会被执行,否则,都不会被执行。5.简单来说,大括号的作用就是把它们捆绑为一个整体,而且 if 和 else 结构是可以嵌套的,下面给出一个例子:6.良好的代码书写习惯是很重要的,它可以让你的代码更清晰,让别人读起来更舒服,如果写成如下格式,你是不是看了就头皮发麻(虽然功能是一样的):2014 年辛星 PHP 教程夏季版 21/169 7.我相信大家是可以读懂上述代码的,因为它很简单,但是它确实有些地方让人费解,如果大家学习过 Python,那么会不由自主的用四个空格缩进,不轻易换行,因为Python 对格式要求
21、记为严格。*循环*1.我们都很烦做同样的事情,比如小学时候老师的“把某某段落抄五遍”,明明抄一遍就可以了,感觉做同样的事情好烦啊,做同样而无聊的事情就更是烦上加烦。2.没错,使用循环结构可以让您从烦闷中解脱出来,我们使用循环结构来做类似的事,在 PHP 中,循环分为 while循环和 for 循环,那么它们通常怎么用呢?3.先来说 while 循环,它的核心思想就是:如果条件满足,则一直做某件事,它的语法结构和 if 很像,当然,内部的2014 年辛星 PHP 教程夏季版 22/169 执行机制是两码事。它也是后面跟一个逻辑值,如果该值为真,则一直做某件事。4.下面是代码示例,我们用一个变量,
22、$a 来控制数据的大小,然后判断它的值,如果它不大于 13,则执行大括号里面的内容,如果它大于 13,则自动向下执行:5.我们看到,while 后面跟一个小括号,里面写各种逻辑运算,但是得到的结果是一个布尔类型的值或者是可以转型为布尔类型的值,然后跟一个大括号,这个大括号里面的内容通常被称为循环体。6.for 循环则是一个更加强大的循环,PHP 的 for 循环和 C的 for 循环很像,和 Python 的 for 循环差距就有点大了,下面我们先看一个例子:2014 年辛星 PHP 教程夏季版 23/169 7.我们可以看到 for 循环的大括号里就是该 for 循环所做的工作,它首先打印出
23、包含该$a 的值的一个文本,然后判断时间,如果是九点之前,小倩应该陪着辛星在编程的,如果是九点之后,小倩就睡觉去了,小星自己在编程。8.感觉这个循环讲解的还明白吗?如果不明白就对着代码敲一下,梳理一下思路。2014 年辛星 PHP 教程夏季版 24/169 *三大杀手*break*conitue*return*1.在学习完毕上面讲解的几种结构之后,我们来看一下三大杀手,它们是 break、continue 和 return。2.这三个语句通常用在循环中,不管是 while 循环还是 for循环都可以用,我们下面的例子都以 for 循环为例,while循环的例子大家可以自己去仿造,当做课下作业把
24、,(_)。3.首先从最简单的 break 开刀,它翻译成中文就是“打破”,即打破循环,从循环中跳出,先看一段代码:4.这里我们突然明白了,原来 break 的意思就是说,我break 一下,就跳出了循环,于是程序继续向下执行,大家2014 年辛星 PHP 教程夏季版 25/169 应该看明白了吧,就是我用 break 外加一个分号跳出循环,是不是很简单呢?5.然后就是从第二简单的 continue 下手,它的意思是“继续”,即跳过本次,重新来过,先看如下代码示例:6.看完上面代码的示例和执行效果,我们一下明白了,奥,原来 continue 的作用就是跳过本次循环,但是并没有跳出本次循环,即本次
25、循环继续进行,但是当$a 取值为 8 的时候,这一次我们到此为止,不想下执行了,我们从$a 为 9继续开始循环。2014 年辛星 PHP 教程夏季版 26/169 7.然后就是 return,其实 return 的意思是“返回”,它主要是出现在函数中,用于返回一个值,或者直接声明该函数的结束,但是它却有着更加强大的作用。8.如下代码示例及其执行效果:9.我们发现上面当$a 取值为 8 的时候,使用了 return,我们发现它不仅跳出了循环,而且循环之后的输出也没有得到执行,说明了一点,那就是 return 会直接跳出整个程序的执行。2014 年辛星 PHP 教程夏季版 27/169 *几点答疑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2014 年辛星 PHP 教程 夏季
限制150内