PHP专题重点函数_静态化_缓存_面向对象_异常处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PHP专题1.选择的理由2.重要函数3.面向对象4.异常处理5.静态化6.缓存与Smarty选择PHP是有理由的:这一章里将覆盖一下几点内容:第一:选取优秀的释义来说明PHP是什么;第二:归纳出PHP卓越的特点;第三:显示PHP被使用的状况;第四:提供一种学习PHP的流程;第五:前瞻这个专题讲解的逻辑。PHP是什么?对于php程序员来说,应该非常了解php是什么了,不过也有很不少人所知甚少,要不,你看很多人在问PHP怎么打开,PHP要用什么播放器打开之类的提问。当然一个好的释义对于我们了解它的本质是很有帮助的。PHP:HypertextPreprocessor超级文本预处理语言(起初只是PersonalHomePage,个人主页).PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。(摘自百度百科,非常优秀的释义。)从释义中我们可以归纳出几点PHP卓越的特点:PHP卓越的优势:第一:PHP具有跨平台的特性,可以在多种操作系统下运行;PHP能在多种服务器平台上运行,而与之相比,ASP,JSP等则只能在单一的服务器平台上运行。第二:PHP是一种服务器端脚本语言,是动态网页脚本语言的一种,而且必须在服务器端运行。第三:PHP是一种HTML内嵌式的语言,它可以很简单地嵌入到普通的HTML页中,用户要做的的只是在普通HTML页中加入PHP代码即可,学习起来并不困难。第四:PHP通常与MySQL配合使用,但它同时也支持流行的几乎所有的数据库系统,而其它网页脚本语言则没有这种特性。第五:PHP是一个开源的程序,所有的PHP源代码事实上都可以得到,并且是免费的。第六:效率高,PHP消耗相当少的系统资源。第七:在php4,php5中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。当今PHP使用的状况:据PHPChina提供的统计数据显示:后缀形式分类的网页情况来看,PHP现在排名第一:占24.4%,其次是Html是19.4%;Asp仅仅是14.3%,Aspx则为4.7%.PHP起步相对较晚,1994年RasmusLerdorf创建,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者,有如今迅猛的发展强劲,不能不归功于PHP这些卓越的特点。我建议的学习PHP的流程(前提是对静态网页编写以及网站的常规知识已有了确切把握):(一)明确学习的目的,通过接触PHP培养浓厚的兴趣和求知欲;(二)搭建PHP运行环境(可以使用PHP+MySQL+Apache安装包,这样搭建一个工作环境很简捷);(三)足够的学习资料,包括书本,网页教材,视频教材,专业性网站,论坛,QQ群,电子书,博客等;(四)勤动手,亲自实现一个又一个小程序并擅于总结;(五)从简单的语法到系列函数,数组,安全事务等;(六)使用数据库;(七)学习面向对象编程;(八)PHP静态化与缓存技术;(九)使用模板;(十)实现Ajax.另外:坚定一个目标,千万别这会学这过会学那;学无止境,要做得更好;努力固然重要,但有时选择比努力更加重要,特别是IT行业,技术一日千里,要擅于随时发现新技术。专题前瞻:在这个专题里,我把重心放在讲解PHP的重要环节上。首先是函数,这章里我不会进行简单的罗列,也不可能系统讲解,而是抽取重要的,或常用到的,或不经常使用到但非常有用的函数进行别致的分析。面向对象这一章以一个独到的实例尽量把有关面向对象编程的重要概念引用进去,深刻了解OOP机制。异常处理与静态化两章主要是讲解必要性以及具体怎么实现。Smarty这一章介绍模块的使用,以及如何实现PHP的缓存技术。祝大家有个快乐与获益的旅程!非常有用的常见函数或非常见函数PHP内置了大量的函数,非常熟练地掌握越多的函数,编程起来也就会更有效率。这些函数囊括了字符(串)类,数组类,数据库类,文件目录类,图像处理类,网络通信类,服务器类,Win32类等等。下面对一些重要的函数进行归纳,分析和应用。(一)字符文本类(String)。试想,我们对String都会有哪些操作呢?我把它大致总结成以下几种情况:(1)特殊字符的转义转换;(2)查找统计;(3)插入,更换,删除,格式化,再分配。下面我以表格的形式选取fatalFun(至关重要的函数)进行讲解。(正则表达式可以独立成章在此暂时不讲。)★★特殊字符转义转换★★函数原型功能分析使用实例addslashes($str)使用反斜杠(\)转义单双引号(注意先使用magic_quotes_gpc函数判断是否已启动自动转义)addslashes($_POST[uname])htmlentities($str)转换字符为HTML编码,即HTML标签不再起作用被原貌输出htmlentities(b不会粗体/b)nl2br($str)将换行字符转成brnl2br(断\n开)stripslashes($str)清除反斜杠stripslashes(多余的'\')quotemeta($str)对.\+*等字符加入反斜杠quotemeta(1.2+1=?);★★查找统计★★函数原型功能分析使用实例substr($str,$start[,$len])从$start起取[取$len个],$start为负则从尾(-1,正时为0)起,$len为负意为取到倒数第几substr(helloworld!,2,-5)→lloworstrchr($str,$char)取出从首次出现$char后的字符串(区分大小写);php5中的stristr功能与此同,但不区分大小写strchr(HElloworld!,l)→lloworld!strpos($str,$char)$char在文本$str中第一次出现的位置(区分大小写);php5中的stripos功能与此同,但不区分大小写strpos(HELloWold,l)→3strcspn($str,$char[,$start[,$len]])char在文本$str中第一次出现的位置(区分大小写);若有$start,$len则表示从哪里开始计数,考虑查多少位。strcpn(012345678,5,2,5)→3substr_count($str,$char[$start[,$len])统计$char在$str出现的次数,若有$start,$len则表示从哪里开始查,考虑查多少位。substr_count(helloworld,o,5,1)→0★★插入,替换,删除,格式化,再分配★★函数原型功能分析使用实例str_replace($str1,$str2,$str);strtr($str,$str1,$str2)用$str2替换$str中的$str1str_replace(,,$title)substr_replace($str,$char,$start[,$len])从$start起用$char替换之后的所有字符,若有$len,则$len长度substr_replace(helloworld!,mylove,6,5)→hellomylove!strtolower($str);strtoupper($str);ucfirst($str);ucwords($str)全部小写或大写;首字母大写或每个单词首字母大写ucwords(helloworld!)→HelloWorld!implode($glue,$arr);join($str,$arr)将数组$arr的值用字符$glue连接合并成字符串implode(or,array(tobe,nottobe))→tobeornottobeexplode($glue,$str[,$num])按$str中的标志$glue分割成数组成员,若有则表示数组成员的个数explode(@,1@2@3,2)→Array([0]=1,[1]=2@3)chop($str);ltrim($str);trim($str);rtrim($str)去除连续,左,两端,右空格,制表符,回车chop(helloworld)→helloworld(二)数组操作类在PHP编程中,有相当多的内容都与数组有联系,入库的信息需要纳入数组,统计一些信息需要写入数组等,这些操作都离不开数组,很多信息都是用数组作为载体的,所以数组的操作在PHP编程中占有很大的比重,只有熟练地操作数组,才能写出高效的PHP程序。PHP支持一维数组和多维数组,数组的元素也有很大的灵活性,数组可以有用户创建或由函数生成,有一些特定的数据库处理函数可以从数据库查询中生成数组,还有一些函数的返回值也是数组等。下面介绍几种操作数组非常实用的函数函数原型功能分析使用实例Boolin_array($str,$arr)判断字符$str是否在数组$arr里,在时返回TRUE,否则为FALSEif(in_array(love,array(love,like)))→trueArrayarray_combine($arr1,$arr2)返回以$arr1作键$arr2作值的数组array_combine(array(中国,日本),array(伟大,尾大))→array([中国]=伟大,[日本]=尾大)Array将数组$arr以$nme个成员为一组,返回新数array_chunk(array([中array_chunk($arr,$num[,$kpkey])组,$kpkey表示是否保留原来的键名.国]=伟大,[日本]=尾大,[美国]=大尾),2,true)→array([0]=array([中国]=伟大,[日本]=尾大),[1]=array([美国]=大尾))Arrayarray_count_values($arr)统计数组$arr中值的出现次数,以新数组返回array_count_values(array(100,120,100))→array([100]=2,[120]=1);msyql_diff($arr1,$arr2)msyql_diff_key($arr1,$arr2)msyql_diff_assoc($arr1,$arr2)对应的,通过只比较值/之比较/键名/两者都比较来返回只在$arr1不在$arr2的新数组。mysql_diff_assoc(array(1,[k]=wl),array(1,2))→array([k]=wl)msyql_intersect($arr1,$arr2)msyql_intersect_key($arr1,$arr2)msyql_intersect_assoc($arr1,$arr2)对应的,通过只比较值/之比较/键名/两者都比较来返回同时在$arr1与$arr2的新数组。mysql_diff_assoc(array(1,[k]=wl),array(1,2))→array([0]=1)(三)数据库类使用PHP少不了对数据库的操作,PHP+MySQL是一对不可多得的黄金组合,下面就介绍一些操作MySQL数据库的重要函数.函数原型功能分析使用实例mysql_connect($host,$urer,$psd);mysql_pcoonen

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功