PHP对大小写敏感问题
-
大小写区分问题
abc=‘abcd′;echo abc; //输出 ‘abcd’
echo $aBc; //无输出
函数名、方法名、类名不区分大小写,但最好按规则来 -
大小写命名问题
类名默认单词字母大写,ShwoList.class.php
方法: showList()
变量: $showList;
常量名默认区分大小写,通常都写为大写
魔术常量不区分大小写,推荐大写
语法认知:
- 1
- 2
- $bool && $result =”赋值”;
【等同于】=> if( $bool ){ $result =”赋值” } ; - $result=$bool?”赋值1”:”赋值2”;
【等同于】=> if( \$bool ){ \$result =”赋值1”}else{ \$result =”赋值2”} ;
mb打头的函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
php的几个全局变量
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
PHP常量的区别CONST DEFINE
(1).const可在类中使用,define不能。局部和全局的区别吧
(2).const不能在条件语句中定义常量。
(3).CONST 比define加载快
(4). define可以采用表达式作为名称。
const存放在数据段中,与static相同 访问用 类名:: self::
php的路径解释
一。物理路径,它就是指硬盘上文件的路径,比如下面的文件位置表示方法:
d:\wwwroot\html\a.html
二。相对路径
链接到上级目录中的文件
三。绝对路径,它就是带有网址的路径。比如你有一个域名www.test.com,其域名指向 d:\wwwroot,
链接到a.html
四。根目录,去掉绝对路径前面的域名就是根目录,所以它可以理解为是网站的最上层目录。它的表示方法如下:
链接到a.html
each与list的用法(PHP学习)
//each
//返回目标数组中第一个【值/下标】,并且【下标】向后移动一位
for(;
tmp=each(
arr);){
echo
tmp[0],′ ′,
tmp[1],’
’;
}
reset(
arr);//list// list(
a,
b,
c) 规定:
a=
arr[0],
b=
arr[1],
c=
arr[2]…… [以此类推]
arr=array(1,2,3,4);for(;list(
k,
v)=each(
arr);){
echo
k,′ ′,
v,’
’;
}
each把索引数组的下标和值赋值给一个数组
tmp有【0】【1】list(
a,
b)
a=
tmp[0],
b=$tmp[1]
所以list与each连用,可以把数组中的下标和值分别输出,但要注意 reset 数组的指针
提高使用效率
- 1
- 2
- 3
- 4
- 5
- 6
- 7
安全:
- 1
- 2
- 3
- Smarty
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
HTML,XML,XHTML
HTML和XML:他们两个都是标记语言(ML),一个是超文本置标语言,一个是可扩展置标语言。
他们的不同之处:
1可扩展性:HTML不具备扩展性,而XML是原标记语言,可以用于定义新的标记语言。
2侧重点: HTML侧重于如何表现信息,而XML是侧重于如何结构化的描述信息。
3语法要求: HTML不要求标记的嵌套,配对等,不要求标记间具有一定的顺序,而XML则是严格要求嵌套,配对,遵循DTD的树形结构。
4可读性和维护性:HTML难于阅读维护,而XML结构清晰,便于阅读维护
5数据和显示关系:HTML的内容描述和显示整合唯一,而XML则是相分离的
最后一点就是他们的编辑浏览工具了,HTML有一堆的编辑浏览工具,而XML尚不成熟。
至于XHTML,是介于HTML和XML之间的标准,它是让HTML符合XML语法规范的一种规定。不过现在的浏览器对XHTML的支持并不是很好。
Javascript,jQuery, Ajax
JavaScript包括Ajax
jQuery是一个JavaScript轻量级框架
学习Ajax很简单,前提是你会JavaScript基础,但是真正的运用好Ajax不简单,要考虑很多问题,比如怎么设置浏览器导航按钮,怎么防止请求冲突,怎么提高安全,怎么平稳过渡等等的数多问题
推荐书籍
《JavaScript基础教程》第六版
《JavaScript高级程序设计》
《JavaScript DOM高级程序设计》
《Ajax实战》
《Ajax高级程序设计》
《jQuery基础教程》第二版
《jQuery实战》
discuz 与phpwind
在我们想搭建论坛的时候,我们都会在论坛程序的选择上苦思冥想,难以下结论,到底选择那款系统,目前ASP论坛已经面临被淘汰的局面了.
PHP论坛是目前最盛行的,PHP论坛程序中当属Disduz和Phpwind最为出众,的确这两个系统都很优秀,很难说要选择哪一个,接下来,我们就为大家简单分析这两个论坛程序。
首先我们要说一下就是Discuz,目前使用最多的PHP论坛系统,是由北京康盛创想有限公司开发的一款PHP论坛代码,该产品已经被广泛应用于各大论坛,而且康盛公司旗下产品还有建站系统,博客系统,空间系统,是一款整合性非常强的系统,DISCUZ系统具有很强的负载能力,可以在繁忙的服务器环境下运行快速稳定的论坛,很大程度上节约了企业的成本,Discuz的打开速度明显要快,该产品附恶化国际化标准产品构架,具有很强的安全性和攻击防护,系统更新和补丁也推出很频繁,是国内首屈一指的PHP论坛系统。
接下来我们说一下Phpwind论坛,杭州德天信息技术有限公司的一款优秀论坛系统,是Discuz论坛强有力的挑战者,各项功能都不亚于discuz系统,在打开速度上比DZ更具优势,快捷、稳定、高效、成熟、稳定是这款论坛的特点,由于Phpwind论坛出道还比较晚,各项性能指标还不成熟,再加上互联网竞争日趋白热化,寻求强有力的支撑是一个公司发展的根本,去年,Phpwind被马云所在的阿里巴巴公司收购,这个土生土长的杭州互联网企业,再次与大公司接轨,发展前景自然不在话下。
要说这两款论坛,各有优缺点,我们使用的过程中发现,Discuz的伪静态也比Phpwind好的多,最起码简单明了,符合搜索引擎的标准,收录相对会更多一些,而Phpwind的伪静态比较长,这点不利于搜索引擎优化,打开速度上Phpwind稍占上风,其它的就是功能使用上了,Discuz后台操作比较简单,功能强大,非常适合新老站长使用,而Phpwind论坛的后台设计比较繁琐,相对操作比较复杂,但是功能不亚于discuz。 在搜索引擎的表现上来看,搜索引擎还是偏爱于discuz论坛系统,不管是在排名还是在收录上,discuz都占据了很大的优势。
memcache
- 1
- 2
- 3
- 4
-
先检查客户端的请求数据是否在memcache中,如有,直接把请求数据返回,不再对数据库进行任何操作;
-
每次更新数据库的同时更新memcached中的数据,保证一致性;
-
当分配给memcached内存空间用完之后,会使用LRU(Least Recently
Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。 -
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
总结:缓存在内存,减少数据库访问次数,提升访问速度。
Zend Optimizer
Zend Optimizer(以下简称ZO)用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。
我们在使用php的时候,会发现很多的php开源系统都是基于Zend Optimizer上的,所以我们需要先安装Zend Optimizer,这时候我们发现在php5.3之后是没有Zend Optimizer,但是有新的Zend Guard Loader,那我们就安装Zend Guard Loader就好了。