站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress编码标准
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; text-align:center; float:right; padding:6px;"><strong>导航:</strong> [[WordPress协助开发须知|上一页]] | {{Template:WordPress导航}}</span> <div style="clear:both;"></div> 在[[WordPress]]中,一些[[PHP]]旧代码结构并不一致。WordPress正在通过促使开发人员使用统一的风格结构来逐步改进代码,以使其更为简洁,让人能一目了然。 在为WordPress编写代码时(无论是编写核心代码,还是编写[http://www.wordpress.la/plugins.html 插件]或主题代码),请遵循以下规范。虽然其大部分规范和Pear 标准类似,但一些关键部分还是有所差异的。 查看 wp-hackers邮件列表上关于编码风格的文章。 ==单引号和双引号== 在适当的位置使用单引号和双引号。如果不在字符串中赋值,请使用单引号。在字符串中几乎无需给[[HTML]]引号转义,因为你可以直接转换引号风格,如: echo "<a href='$link' title='$linktitle'>$linkname</a>"; echo '<a href="/static/link" title="Yeah yeah!">Link name</a>'; 但[[JavaScript]]例外,它有时要求必须使用双引号或单引号。属性文本需要使用attribute_escape()进行转义,这样的话,单引号或双引号就不会终止属性值,使[[XHTML]]无效,进而产生安全问题。 ==缩进== 缩进应当反映逻辑结构。要使用真正的制表符,而不是空格,因为制表符在不同的客户端之间能够提供最大的灵活性。 例外:如果对齐代码会使其更易阅读,可使用制表符来实现首行缩进,然后用空格来填补其余空白。 [tab]$foo = 'somevalue'; [tab]$foo2 = 'somevalue2'; [tab]$foo34 = 'somevalue3'; [tab]$foo5 = 'somevalue4'; 请留意如何通过制表符来完成首行缩进,而空格只是用来确保等号排列整齐。 ==大括号== 多行代码块应该使用大括号: if ( condition ) { action1(); action2(); } elseif ( condition2 && condition3 ) { action3(); action4(); } else { defaultaction(); } 如果代码块比较长,就要考虑是否可以把它分隔成两个或更多的代码块或函数。如果无法分隔,请在末尾添加小段注释以让他人一眼就能看出大括号结尾内容(通常适用于超过35行的逻辑代码块,但是所有不能直观看出功能的代码都可以添加注释)。 单行的代码可以不使用大括号,这样也更简洁,如: if ( condition ) action1(); elseif ( condition2 ) action2(); else action3(); '''include_once 与require_once ''' 正如php手册所述:“这两个结构的其它功能都完全相同,除了处理失败的方法有所不同。 include()会生成一个Warning(警告),而require()会产生Fatal Error(致命错误)。”致命错误会终止脚本运行。 ==正则表达式== 与POSIX(以[[unix]]操作系统为基础的可携带[[操作系统]]界面)正则表达式相比,应优先使用[[Perl]]兼容[[正则表达式]](PCRE, preg_ functions)。 *'''不要使用简略的[[PHP]]''';禁止使用简略的PHP开始标签(<? ... ?> or <?=$var?>),而应使用完整的PHP[[标签]](<?php ... ?>)。另外,务必要删除PHP标签结尾处的空格。 *'''空格使用''':在逗号之后,逻辑及赋值操作符(如,"x == 23", "foo && bar", "array( 1, 2, 3 )")的两侧, if, elseif, foreach, for 和 switch代码块(switch blocks)的打开和关闭括号(如,foreach ( $foo as $bar ) { ...)的两侧都要使用空格。定义函数时,应当按照以下操作: function myfunction( $param1 = 'foo', $param2 = 'bar' ) { 调用函数时,使用:myfunction( $param1, funcparam( $param2 ) ); ==格式化SQL语句== 格式化SQL语句时,如果语句较为复杂,就可以把它分成多行并缩进。但多数语句无需分割成多行就能很好的运行。另外,要大写SQL语句中诸如UPDATE 或WHERE这样的词语。 更新数据库的函数参数通过时无需使用[[SQL]]斜线转义。转义应当尽量和查询同时进行,而且最好使用$wpdb->prepare()。 $wpdb->prepare()是用来处理SQL查询转义,引用和整型转换(int-casting)的一种方法,它使用了sprintf()子集格式。如: $var = "dangerous'"; // raw data that may or may not need to be escaped $id = some_foo_number(); // data we expect to be an integer, but we're not certain $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_title = %s WHERE ID = %d", $var, $id ) ); %s用来表示字符串占位符,%d 用来表示整数占位符。注意它们并没有使用引号。$wpdb->prepare()会处理转义和引号,这样就无需手动使用 $wpdb->escape()转义了,而且很容易就能看出某个字符是否转义,因为查询执行和字符转义是同时进行的。 ==数据库查询 == 要避免直接接触数据库。如果能用函数提取[[数据库]]信息就最好了。数据库抽象层(使用函数,而非查询语句)能使代码实现前向兼容,而且如果结果缓存在内存中,还会节约大量时间。如果不得不访问数据库,可在wp-hackers 邮件列表发布消息以与开发人员取得联系。这样,他们或许就会在下个版本创建可完成你所需的某个功能的函数。 ==变量,函数和操作符== 请不要创建只会使用一次的变量或查询语句。操作数据库时,尽量使用函数的[http://codex.wordpress.org/Function_Reference/wpdb_Class wpdb类]。 此外,也可使用三元操作符([http://en.wikipedia.org/wiki/Ternary_operation Ternary] operators) ,但使用前要测试语句是否为真,否则,代码会出现混乱。 // GOOD example: // (if statement is true) ? (do this) : (if false, do this); $musictype = ( 'jazz' == $music ) ? 'cool' : 'blah'; 以上示例需要注意的另外一点是,当作逻辑比较时,要把变量放在右侧。如果忘记使用等号,系统就会出现分析错误,而不会判断真假来执行语句了。测试并不需要占用额外时间,而且如果能够避免一个bug,还是值得的。 ==相关条目== *[[Drupal]] *[[OBLOG]] *[[X-Space]] *[[SaBlog-X]] *[[Bo-Blog]] [[category:WordPress中文文档|B]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:WordPress导航
(
查看源代码
)(受保护)