我的php编码规范
为什么我们要培养自己的编码规范?
我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:
1、提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴嘛!
2、提高代码的可读性。
3、显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!
4、方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调!
编码规范包含两大块,代码规范和注释规范
其实我们所写的php脚本,其实也就是由两大块组成的,即对代码的书写、对代码的注释!不同的框架,甚至不同的公司,对这方面都会有所不同,这里只是已将之言,仅仅是对自己的书写规范进行一个总结!希望能对其他的朋友以启示
1、代码的书写规范
文件夹的命名:
文件夹同一使用小写字母。如存放控制器的文件夹,直接命名为controller即可
文件的命名:
如果是类文件的话,那么文件的命名应该同类名称保持一致,统一使用大驼峰。如Session.class.php , 对应类名称为Session,
如果是普通的工具脚本,那么统一使用小驼峰,如common.php
类名称的命名:
类名称同一使用大驼峰,Cookie类
方法名的命名:
统一使用小驼峰,一般使用 动词 + 名次 的形式来描述该方法的功能,如sendMessage,发送短信。
在面向对象中,遵循同样的规则,但是个别地方有所区别:
public getUserName()
protected _getTotalAmount()
private _setBlanceAmount()
变量的命名规范:
关于变量,我们需要多说几点:
1、无论在面向对象还是非面向对象的语法中,变量统一使用小驼峰,如:$workYears。
但是在面向对象中又有所不同,public 、 protected 、 private ,protected或者private属性的时候,前面加上了 _ 作为区别
public $startPosition = 1;protected $_salaryAmount =1000; private $_sex = 'formale';
2、如果是常量的话,统一使用大写,中间使用下划线进行分割。
define('CURRENT_SCRIPT', 'index.php');const TRANSACTION_TYPE = 'income';
3、全局变量,使用大驼峰,前缀加上 _ ,所有的单词首字母大写。因为知道一个变量的作用域是非常重要的,所以局部变量和全局变量应该很明显的进行分开!
$_System_Config;$_Root_Path;
缩进符
关于编码的缩进符号,我们统一使用制表符缩进!也许有的人会问为什么不适用空格缩进的呢?
原因很简单,大部分的编辑器都支持制表符等于多少个空格,而使用空格就没得调了!
运算符号
所有的两元运算符号,都应该前后使用空格进行
$name = 'zero';
$age > 18 ? 'adult' : 'children';
常见的流程语句规划
我们约定,所有的流程语句的花括号都单独占据一行。理由:如果遇到较为复杂的业务逻辑,花括号会出现很多的嵌套,这样一来我们会混淆个个对应的花括号!
1、分支语句
if($age >= 18 && $age <= 30) { echo 'young man';}else if($age > 30 && $age <= 60){ echo 'middle aged';}else{ echo 'old man';}//下面这段代码高手我们一个问题,在if语句中,即使在可以不要花括号的情况下,花括号也是要写上的if($age > 60){ echo 'I am very old';}
switch($status){ case 'forbiden': echo 'login forbidden'; break; case 'normal': echo 'login in'; break; default: echo 'status is wrong' : break;}
2、循环语句
while($condition){ statesments......;}
foreach($arrayList as $arrayKey => $arrayItem){ states......;}
do{ statements......; }while($condition)
for($start; condition; changenumber){ statements......;}
2、注释的书写规范
很多人说好的代码是不需要注释的,其实,个人认为这是一句很扯淡的话(也可能他是对的,除非整个团队就他一个人,他包办了一切,不用看别人的代码)。
个人的观点是:多写注释,无论是对团队的其他人,还是对自己都是非常友好的!
根据个人的经验来看,注释至少有以下几个作用:
1、有利于提高代码的可读性,毕竟读你的注释要比读你的代码要容易的多!
2、有利于规划自己的代码布局!之所以这么说,是因为和代码注释的种类有关。“有利于代码的布局”,这种看着有点悬的事,光说是说不明白的,我们需要实实在在的例子做支撑!
3、由于我们的注释规范是按照phpdocumentor的要求,所以通过这个工具,还可以生成一份对代码的总体说明,相当于一个使用说明书!g
代码注释的种类
1、块注释
块注释,个人认为主要用在了三个地方。对php脚本的描述、对一个大的功能模块的描述、在一行之内不能写完注释的时候,也应该放在块注释中
2、行注释
行注释,个人认为他是配合块注释进行工作的!一般用于描述一个大的功能模块的具体细节!
实战的案例
关于phpdocumentor语法的具体使用细节,这里就不多说了,官网上说的再清楚不过了
从上面的例子中我们可以看一下代码的布局大致是怎么回事,但是还需要我们在实践中慢慢摸索

핫 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)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.
