PHP书写规范(1)_PHP教程
PHP书写规范
作者:sink
最后修改:2011-7-7
参考资料:
PHP Manual
http://www.php.net/manual/zh/language.oop5.basic.php
PEAR Coding Standards
http://pear.php.net/manual/en/standards.php
C++ Coding Standard
http://www.possibility.com/Cpp/CppCodingStandard.html
Google C++ Style Guide
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
Code Conventions for the Java
http://www.oracle.com/technetwork/java/codeconvtoc-136057.html
通用原则:
1、语义化
看到名字,就知道意思。
2、通用前缀
is表示是否、get表示读、set表示写。is后面优先跟形容词,而不是名词,比如是否多语言文字,应使用is_multilingual,而不是is_multilanguage。
3、单数与复数
参考js的函数命名规则:getElementById、getElementsByTagName、getElementsByName。
例如:
取我的多个好友的名字,应使用getFriendsName,而不是getFriendNames或者getFriendName
取一个用户,是getUser
取多个用户,是getUsers
4、冗余后缀
尽量不使用data、list、info后缀。
比如,js的命名就很注意,使用getElementsByTagName而不是getElementsInfoByTagName。
应该使用getFriends或者getFriendsUserId,而不是getFriendsList;应该使用getUser,而不使用getUserInfo或者getUserData。
不过有时候很难避免,比如有2个函数,分别是取用户基本信息,和取用户详细信息。
取用户基本信息:昵称、头像URI,函数名getUserBasic还是getUserBasicInfo?函数名以形容词结尾感觉不合适,待讨论。
取用户详细信息:昵称、头像URI、签名、生日,函数名getUser没问题。
5、含义模糊的类名、文件名、目录名
每当使用common、util、functions、class、object、basic作为文件名时要慎重,由于这些词太通用,发展下去里面东西可 能越来越多,变成垃圾箱。要给这些起一个准确的名字,比如要做字符串处理的类,可以叫StringLib.php,放在lib目录里。
6、lib、plugin与addon的区别
有些类、函数算做lib、plugin还是addon。待讨论。
类名:
大写字母开头,驼峰命名。一般使用名词,比如配置解析类ConfigParser,而不是ParseConfig。
与Java、C++一致。
例如:class UserModel
类的文件名:
与类名相同。这与php autoload有关,为了autoload,类名总要很长,待讨论。
与Java一致。
例如:class UserModel的文件名为UserModel.php
非类文件名:
全小写,下划线分隔,不得使用空格。比如get_user.php。
目录名:
全小写,下划线分隔,不得使用空格。比如model、www。
函数名:
小写字母开头,驼峰命名,例如:function addBlog()。
与Java、C++一致。
函数表示功能,即动作,所以动词优先,例如使用editBlog,而不用blogEdit。
PHP内置函数由于历史原因,有多种风格,do_something,something_do,dosomething,比较新的函数用了doSomething,才与目前主流语言保持一致。
比如:paser_str、json_encode、substr、fetchAll。
历史原因可能无法改变,但我们能保证新的代码是严谨的,不要让自己成为历史原因。
类中的函数:
两个函数中间空一行。如果有时间的话,各个函数按英文字母排序,免得太混乱。
例如:
<ol class="dp-c"> <li class="alt"><span><span class="keyword">class</span><span> BlogModel </span></span></li> <li><span>{ </span></li> <li class="alt"> <span> </span><span class="keyword">public</span><span> </span><span class="keyword">function</span><span> addBlog() </span> </li> <li><span> { </span></li> <li class="alt"><span> } </span></li> <li> <span> </span><span class="keyword">public</span><span> </span><span class="keyword">function</span><span> updateBlog() </span> </li> <li class="alt"><span> { </span></li> <li><span> } </span></li> <li class="alt"><span>} </span></li> </ol>
文件注释:
注释紧跟
格式按照PHPdoc的要求:
http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_tags.author.pkg.html
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></span></li> <li> <span class="comment">/** </span> </li> <li class="alt"><span><span class="comment"> * blog的各种业务:添加、更新 </span> </span></li> <li><span><span class="comment"> * @author sink </span> </span></li> <li class="alt"><span><span class="comment"> * </span> </span></li> <li><span><span class="comment"> */</span><span> </span></span></li> <li class="alt"> <span class="keyword">class</span><span> BlogModel </span> </li> <li><span>{ </span></li> <li class="alt"><span> </span></li> <li><span>} </span></li> <li class="alt"><span>?> </span></li> </ol>
API注释:
一定要写输入参数,和输出格式。写清楚正确时输出什么,错误时输出什么。
否则别人无法使用。
1

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
