波霸美少女
如何写出规范的PHP代码

本文以PHP语言为例,介绍一些良好的编程习惯,希望能够对你有所帮助。

源地址:www.kaiyuanba.cn/html/1/131/140/7817

1. 规划代码结构

优秀的PHP代码应该有清晰的结构。PHP面向对象的特性允许程序员将应用程序分解为函数或方法。如果代码晦涩难懂,你也可以添加注释,使代码的功能一目了然。编码时应尽量将前端代码(HTML/CSS/JavaScript)与应用程序的服务端规则分开,或者你可以使用遵循MVC模式的PHP框架来构建你的应用程序。

2. 编码风格统一

优秀的PHP代码应该具备统一的风格。比如,为变量和函数制定统一的命名规则,为循环任务(比如数据库存取、错误处理)制定统一的接入标准,或者保持有规律的代码缩进,这些编码习惯都可以让别人阅读代码更加轻松。

3. 可移植性

优秀的PHP代码应该具有可移植性。程序员应学会运用PHP现有的特性(比如魔术引号和短标签等),应该了解产品需求,适应PHP的特点,保证写出的PHP代码具有可移植性和跨平台性。

4. 代码安全性

优秀的PHP代码应该具有安全性。PHP5具有卓越的特性和灵活性,但应用程序的安全往往掌握在程序员的手中。作为专业的PHP开发人员,应该对安全漏洞有一些深入了解,常见的安全漏洞有跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、代码注入漏洞和字符编码漏洞等。使用PHP中的特定功能和函数(比如mysql_real_escape_string等)可以帮助程序员写出安全的代码。

5. 添加注释

代码注释是代码中的重要组成部分,它解释了函数运行的目的,这种注释会在代码以后的维护中提供非常有用的帮助。

6. 避免简写标记

应使用完整的起始标记,不推荐使用简写的起始标记。

7. 用单引号代替双引号

由于PHP会对双引号中的内容进行变量搜索,为了避免这种搜索带来的性能影响,程序员应该使用单引号引用字符串。

8. 转义输出

应该在htmlspecialchars函数中使用ENT_QUOTES参数,保证单引号(')也可以被转义。尽管没有规定必须这样做,但这是一个好习惯。

9. 使用逗号隔开字符串输出

字符串连接符(.)可以将单一的字符串传递给echo语句进行输出,与之相比,逗号可以实现echo语句中字符串的分别输出,这对PHP来说是一个性能改善。

10. 在输出前检查传递值

应该记得在输出前检查$_GET['query'] 的传递值。使用isset函数或是empty函数可以检查变量值是否为空。

言午许
言午许回复给帖子:9463939
展开Biu

学习了!!!!!!!!!

[查看全文]
言午许
言午许回复给帖子:9463939
展开Biu

学习了!!!!!!!!!

[查看全文]
漆黑的小白
把手册基础阅一遍
展开Biu

把手册基础阅一遍,然后剩下的就是团队有统一标准即可,规范是为了更好的协作,开发初期定一些约定就好。另外注释不要手懒

[查看全文]
嘟嘟之魂
良好的代码规范可以使别人二次开发时更容易
展开Biu

良好的代码规范可以使别人二次开发时更容易TUT

[查看全文]
GRzhan
中文翻译
展开Biu

sancia 发表于 2013-8-31 17:20

原版:http://www.python.org/dev/peps/pep-0008/

中文翻译:http://wiki.woodpecker.org.cn/moin/Pytho ...

我还以为缩写和Python刚好重名了,如果是这个的话还是知道的(每行80个字符印象比较深)

在其他语言里作为规范有一定参考价值,不过这个代码规范貌似不是针对PHP的吧=1713=

[查看全文]
sancia
里的那个么
展开Biu

GRzhan 发表于 2013-8-31 17:17

PYTHON规范?是Google里的那个么。。

并不了解这个PHP规范,愿闻其详

原版:http://www.python.org/dev/peps/pep-0008/

中文翻译:http://wiki.woodpecker.org.cn/moin/PythonCodingRule

[查看全文]
GRzhan
很多大型公司使用
展开Biu

sancia 发表于 2013-8-31 17:05

很多大型公司使用 PYTHON 语言规范 。

PYTHON规范?是Google里的那个么。。

并不了解这个PHP规范,愿闻其详

[查看全文]
sancia
代码风格貌似多是以
展开Biu

GRzhan 发表于 2013-8-29 14:29

PHP代码风格貌似多是以PSR为准(主要是PSR-1)?

好像Zend和PEAR也有一套自己的规范嗯。。 ...

很多大型公司使用 PYTHON 语言规范 。

[查看全文]
查看更多
煞笔
推荐很不错的入门书。【HTML+ CSS】

书名叫《Head First Html CSS与XHtml

我相信,再没有哪一本网页设计方面的书比这本书写得更通俗易懂的了。书中用了很多的例子和图片来教你一步步地学习Html和CSS语言,本来枯燥无味的代码学习在这里变的生动而有趣。如果你刚开始学习Html和CSS,对此还一无所知的话,我强烈向你推荐这本书,他一定会成为你学习网页设计的最好的启蒙老师。

内容比较基础,适合想学习HTML的零基础人看。 这本书最大的特点就是寓教于乐。书里面开始是介绍一些网页的基本常识,紧接着通过咖啡馆、旅行日记等实例来阐述各标签的实际应用,同时辅以课后作业、填字游戏等等,按照书中的顺序一步步做下来,知识很容易掌握。翻译也做的不错,符合整体书的意境,没那么生硬。

Eragon
Eragon回复给帖子:9457747
展开Biu

11111111111111111111111

[查看全文]
浮沉于世
aqu_天
确实是很不错呢
展开Biu

确实是很不错呢@@

[查看全文]
咸蛋咸蛋
还有人没
展开Biu

还有人没?这网站是不是冷清了?

[查看全文]
照亮地堂
谢楼主分享
展开Biu

谢楼主分享

[查看全文]
牜相朢衧江湖←
挖老坟中
展开Biu

挖老坟中

[查看全文]
gg1355
gg1355
查看更多
杜小杜小莹
PHP与MySQL程序设计(第3版)(中文版)

窝也是粗始开始研究php,从一师兄那里摸来的资料,

求共勉之~

以后有不懂的还得仰仗各位啦~~~~~@@34!!

【喂,啰嗦毛线,上资源嘞~

http://pan.baidu.com/share/link?shareid=205905&uk=3490196104

新手发帖,看过规则,可能还是有些木有注意的地方,跪求纠正哈……@@7!!

pk332120669
程序渣表示完全不知道
展开Biu

#19t 程序渣表示完全不知道php是什么

[查看全文]
杜小杜小莹
alienwave
杜小杜小莹
需要的哦
展开Biu

浅唱Vae的忧伤 发表于 2014-5-6 22:35

版主 学习php需要html基础吗

需要的哦~最好是有,比较容易理解~

[查看全文]
浅唱Vae的忧伤
浅唱Vae的忧伤回复给帖子:8612331
展开Biu

版主 学习php需要html基础吗

[查看全文]
浅唱Vae的忧伤
浅唱Vae的忧伤回复给帖子:8612331
展开Biu

版主 学习php需要html基础吗

[查看全文]
杜小杜小莹
是一个热门的网络用语
展开Biu

wis 发表于 2013-2-12 20:59

“虽不明,但觉厉”是一个热门的网络用语,是对原文:“虽然不明白(楼主)在说什么,但好像很厉害的样子 ...

#a6t啊~好银~~~~o(*≧▽≦)ツ

[查看全文]
wis
杜小杜小莹
展开Biu

杜小杜小莹 发表于 2013-2-12 18:57

难道是不知道神马意思的意思?!_⊙▽⊙

“虽不明,但觉厉”是一个热门的网络用语,是对原文:“虽然不明白(楼主)在说什么,但好像很厉害的样子。”——摘自时而坑爹时而不坑的度娘百科

[查看全文]
查看更多
fenxer
分享几个好看的css/js折叠效果~

本帖最后由 fenxer 于 2013-1-24 21:25 编辑

搬运前说明一下、以下特效只在移动设备、Safari或Chrome、FireFox等环境下支持,并且均不支持IE9及之前版本(或者说效果差了很多)。。。嘛嘛、要与时俱进嘛~还有哦、下面的一般都可以在github里翻到、翻不到的童鞋也可以谷歌一下~毕竟是搬运的~~@@34!!(捂脸跑。。。)

////////////////////////////////////////////////////////////////////

1. Oridomi

这是一个独立的JavaScript插件,它们可以生成像纸一样的折叠效果。此类库不依赖于任何其它JavaScript框架(但对于jQuery可以有选择性支持),并使用CSS 3D创建过渡效果。

2. 3D Thumbnail Hover Effect

帮助你制作一款折叠的悬停效果,并提供了四种不同类型供大家选择。

3. Makisu

非常棒的一款3D效果下拉式菜单,独有的滚动折叠效果能够让你的应用更富有吸引力。 (Navi栏一道亮丽的风景线啊~@@25!!

4. Paper Like Unfolding Effect

这是一个实验性的jQuery插件,它可以实现打开册子的效果。(以前见过、但是条件苛刻啊。。咳咳@@3!!

5. Paperfold CSS

这应该是最早的折叠效果案例,在这个插件中只需要一个DOM元素,将它分割成几个部分,再将它们重新组合,看上去就好像3D折叠效果一样。 (。。。竟然是Mozilla开发者社区一个demo@@16!!

6. Folding HTML View

不多说。。

7. Pure CSS Folded Paper Effect

非JS、也不是任何其它类型的特效,而是使用纯CSS生成渐变背景来产生折叠视觉效果。 (box-shadow啊、伟大的CSS3啊~@@9!!

说在后面的请无视水印君吧!!@@4!!

dmayq
效果图挺炫
展开Biu

效果图挺炫!!!26~

[查看全文]
liangbaobao123
很好很强大
展开Biu

很好很强大 只是很少能用上 至少我是用不了的额

[查看全文]
正太跑跑
消逝在天际
毕设要做网页觉得要死了
展开Biu

毕设要做网页觉得要死了……特效晃瞎导师算了。。。。

[查看全文]
潇---游士
屌了这个
展开Biu

屌了这个,收藏!

[查看全文]
至尊麻辣螃海
感谢卤煮分享
展开Biu

感谢卤煮分享

[查看全文]
fenxer
还有不支持的
展开Biu

噢!麦嘎 发表于 2013-1-25 10:51

0.....还有不支持的。。。还有

好像没写分享地址哇~~

刚开始说了、github一般都能搜到吧。谷歌css折叠效果也能找出原文~@@33!!

[查看全文]
噢!麦嘎
还有不支持的
展开Biu

0.....还有不支持的。。。!1!还有

好像没写分享地址哇~~!3!

[查看全文]
查看更多
小G去美帝学EMBS
本帖最后由

本帖最后由 小G去美帝学EMBS 于 2012-12-21 14:50 编辑

php+mysql.pdf(39.91MB)

LZ觉得非常实用的教程,虽然是英文版的,绝对经典。。。

这个截图应该可以看出。。不是影印版吧~~~~

小G去美帝学EMBS
虽然我现在连中文版的还没搞懂
展开Biu

miagor 发表于 2012-12-21 16:47

好物!!虽然我现在连中文版的还没搞懂 ,先马克吧。。。

嘿嘿~~~~~

[查看全文]
小G去美帝学EMBS
谢谢楼主
展开Biu

xychang 发表于 2012-12-21 16:21

谢谢楼主……正好PJ要用PHP……然后窝还木学过PHP神马的...

话说迅雷快传不用迅雷好慢TAT...

辛苦辛苦~~~~~

[查看全文]
小G去美帝学EMBS
好厉害的东西啊
展开Biu

嗒嗒珉 发表于 2012-12-21 15:52

好厉害的东西啊

=978=

[查看全文]
小G去美帝学EMBS
看上去好厉害的样子
展开Biu

SirinsFever 发表于 2012-12-21 15:47

看上去好厉害的样子【这写东西都开过课但是我还是一点也不懂OTL

=1713=

[查看全文]
miagor
虽然我现在连中文版的还没搞懂
展开Biu

好物!!虽然我现在连中文版的还没搞懂 ,先马克吧。。。

[查看全文]
xychang
本帖最后由
展开Biu

本帖最后由 xychang 于 2012-12-21 17:07 编辑

谢谢楼主……正好PJ要用PHP……然后窝还木学过PHP神马的...

话说迅雷快传不用迅雷好慢TAT...

传了一个在微盘上...如果有和窝一样下得慢的可以试试看哈 http://vdisk.weibo.com/s/lesuJ

[查看全文]
嗒嗒珉
好厉害的东西啊
展开Biu

好厉害的东西啊

[查看全文]
SirinsFever
看上去好厉害的样子
展开Biu

看上去好厉害的样子【这写东西都开过课但是我还是一点也不懂OTL

[查看全文]
查看更多
亚达
亚达回复给帖子:6654043
展开Biu

失效了,大哭。

[查看全文]
懒RP
下来学习看看
展开Biu

下来学习看看~

[查看全文]
木马猪_SmoRy
就没有其他详细的信息了么
展开Biu

呃。。就没有其他详细的信息了么。。

[查看全文]
延坛清
HTML5新标记

  HTML 5旨在改进HTML的协同工作能力,增加了急需的页面内容描述。它还增加了HTML 4对页面程序所缺乏的特性。在本文中,让我们来看看HTML 5将会为我们带来什么激动人心的新特性。
  1.新的HTML元素,增强描述内容的能力
  HTML的主任务是描述页面的架构,例如在 *本站禁止HTML标签噢* </p>元素之间的文本内容,HTML将告诉浏览器这些文本是一个段落。
  在HTML 5中将增加更多的HTML组件,给网页开发者提供更好的,更精确的方式来描述数据对象。请看以下的对比情况:
  该布局的问题是,对于浏览器来说,所有的一切都是一个 *本站禁止HTML标签噢* 元素。浏览器将平等对待 *本站禁止HTML标签噢* 元素里面的内容,因为他无法进行区分,包括“级别”和“标识”,比如content, sidebar,和footer不同的网站内容各不相同。
  在HTML5中,可以通过以下的方式进行同一个例子的布局:
  这样浏览器就能区分各个部分,页面的主要内容在 *本站禁止HTML标签噢* 元素中,导航栏在 *本站禁止HTML标签噢* 元素中等等。除了更清晰 和更符合语意的标记,它还增强了标记的互用性,比如搜索引擎能更精确的确定页面上什么内容比较重要,它可以忽略掉 *本站禁止HTML标签噢* 元素 和 *本站禁止HTML标签噢* 里的内容,因为他们通常不包含页面的重要内容,提高了搜索引擎的效率。
  另外对于页面开发者来说,他们能更简单统计页面的数据,比如统计视频数量时只需在 *本站禁止HTML标签噢* 元素里统计就行。对于手持设备等主要进行文章浏览时,可以直接定位到 *本站禁止HTML标签噢* 元素中的内容。
  2.改进页面表格操作
  当今的网页基本上都离不开表格,在HTML 5中将包含一个达改进叫Web Forms 2.0, 用来描绘如何进行页面表格操作。其中最打的特点就是“表格确认”。当前,开发者通常使用JavaScript(客户端)和PHP(服务端)代码来确认输入 的内容。比如,一些页面的表格中的必填内容:
  在HTML 4中,以上类型表格的标记一般类似于下面的形式:
  在这个例子中,你得使用脚本来确认用户递交的内容,开发者必须得写出自己的确认代码,来确认用户并没有留下空白表格。
  而在HTML 5中无需使用确认脚本,它将提供额外的元素属性,比如required和email 属性,能自动检查用户名和Email栏不是空白的,而且Email地址格式是有效的。
  3.新的API让页面程序开发更简单
  HTML 5中将为新元素和现有的元素提供更多的API,旨在改进页面程序开发和增加HTML 4所缺乏的特性。比如,一个视频和音频方面的API将与 *本站禁止HTML标签噢* 和 *本站禁止HTML标签噢* 元素一起使用,它将提供视频和音频回放能 力,而无需依赖第三方程序,比如Flash。
  4. *本站禁止HTML标签噢* 元素可以使图像脚本更灵活
  如下图,通常我们发布的图表都是通过使用图片编辑器来完成,一旦数据有了改变,你只能再次处理新的图片。在 *本站禁止HTML标签噢* 元素的协助下,一旦数据有所改变,你可以通过各种脚本来修改饼状统计图(和其他图表)的数据。
  5.用户可以编辑网页的部分内容
  HTML 5中的User Interaction 用来描述页面内容交互工作的新方式。它的contenteditable 属性可以让开发者决定,页面哪部分内容允许进行用户更改,这对于wiki类的网站更为有用。

牜相朢衧江湖←
谢谢提供
展开Biu

挖坟中 谢谢提供

[查看全文]
kxycdz
正在学习
展开Biu

正在学习HTML中~

[查看全文]
潇---游士
延坛清
延坛清回复给帖子:6650000
展开Biu

淼M 发表于 2012-11-14 01:03

赞一个

#9m╭(╯3╰)╮

[查看全文]
淼M
延坛清
以理解为增设的新的内容
展开Biu

り星浩 发表于 2012-9-28 14:50

5.0和4.0不懂啊

5.0以理解为增设的新的内容

[查看全文]
り星浩
风音洛洛
纯CSS代码绘制秋山澪!还用数位板绘图的你们都OUT了!

(貌似是很早的了,不过估计还有人没看过,所以发一下)

亲们,你们还在用数位板绘图吗?你们out了,真心out了,让我们看看程序员是怎么用代码绘画的吧!

不过因为是CSS3编写的,所以对IE10以下的浏览器不支持,IE10据说支持。。。

请使用Firefox、Chrome、Opera、Safari(不知道为什么我的firefox好像不能正常显示)

带动画效果的哟!,CSS3什么的果然是神器!。。

传送门

桃夭
我光是看这么一堆的代码我就觉得我眼睛要瞎了
展开Biu

。。。。。。。。。。。。我光是看这么一堆的代码我就觉得我眼睛要瞎了

[查看全文]
liangbaobao123
wsswine
好厉害的赶脚
展开Biu

好厉害的赶脚 (。^▽^)すごい

[查看全文]
时间管理者
码农拯救世界的赶脚
展开Biu

码农拯救世界的赶脚#15t

[查看全文]
维诺妮卡
代码好长
展开Biu

好强大 还有 代码好长.....

写这些代码的时间够画出来了吧

不过意义就也不一样了啊

[查看全文]
DELETE-USER
看代码远比在板子上来得复杂多
展开Biu

。。。看代码远比在板子上来得复杂多,虽然是个画渣但也能感受到

[查看全文]
心辟
色块要分析好久吧
展开Biu

好恐怖,色块要分析好久吧?!

[查看全文]
final79
还来这一手
展开Biu

fail to load resource,还来这一手。。。

[查看全文]
查看更多