PHP-FIG PSR-1 # 基本编码标准
本标准包含了 对 用于保障 PHP共享代码的互操作性 的标准编码元素。
The key words “MUST 必须”, “MUST NOT 必须不”, “REQUIRED 需要”, “SHALL 将要”, “SHALL NOT 将不”, “SHOULD 应该”, “SHOULD NOT不应该”, “RECOMMENDED 推荐的”, “MAY 可以”, and “OPTIONAL 可选的” in this document are to be interpreted as described in RFC 2119.
概览- 文件 必须 使用
- 文件中的PHP代码 必须 使用无BOM头 UTF-8编码。
- 文件即可以声明“符号”(诸如 类、函数、常量等),也可做一些边际效应的事情 (诸如产生输出, 改变ini设置等.)。 但这两类事情不应出现在同一个文件里。
- 命名空间 和 类 必须遵循“autoloading” PSR: [PSR-0, PSR-4]。
- 类名必须使用 StudlyCaps (首字母大写的驼峰)声明。
- 类常量必须使用下划线分割的大写字母。
- 方法名必须使用驼峰声明。
PHP 标签
PHP 代码必须使用长标签 或 echo短标签 ; 必须不能使用其他形态的标签.
字符编码
PHP代码必须使用无BOM头UTF-8编码
边际效应
一个文件 (应该)要么声明符号(类、函数和常量等),不能引起任何边际效应;要么执行产生边际效应的代码。这两种情况不能出现在一个文件中。
“边际效应” 执行与声明类、函数、常量无关的逻辑。
“边际效应” 包括但不限于: 生成输出, 显式的require或include, 连接外部服务, 修改ini配置, 发出 errors 或 exceptions, 修改全局或静态变量, 读写文件 等等.
以下是一个即声明符号,又产生边际效应的例子; 这是应该要避免的情况:
<?php// 边际效应: 修改 ini 设置ini_set('error_reporting', E_ALL);// 边际效应: 加载文件include "file.php";// 边际效应: 生成输出echo "<html>\n";// 声明function foo() { // function body}
以下例子只包含声明,无边际效应;值得效仿:
<?php// declarationfunction foo() { // function body}// 条件式声明 不是边际效应if (! function_exists('bar')) { function bar() { // function body }}
命名空间名和类名必须遵循 “autoloading” PSR: [PSR-0, PSR-4].
这意味着每个文件只能包含一个类, 并且至少有一层命名空间: 顶级的 vendor 名.
类名必须使用 StudlyCaps (首字母大写驼峰) 声明.
针对 PHP 5.3 及以后版本的代码,必须使用正式的命名空间(5.3之前PHP不支持namespace).
例如:
<?php// PHP 5.3 and later:namespace Vendor\Model;class Foo {}Code written for 5.2.x and before SHOULD use the pseudo-namespacing convention of Vendor_prefixes on class names.<?php// PHP 5.2.x and earlier:class Vendor_Model_Foo{}
这里的“类”包括 classes, interfaces 和 traits.
4.1. 常量
类常量必须使用下划线分割的大写声明。
<?phpnamespace Vendor\Model;class Foo { const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01';}
属性
本指南特意避免偏向 StudlyCaps, camelCase 和 $under_score 中任意一种属性命名风格.
无论在用哪种命名风格,在合理的范围内均应改保持一致。 范围可以使 vendor-level, package-level, class-level, 或 method-level。
方法
方法名必须使用驼峰 camelCase().

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

Using preprocessing statements and PDO in PHP can effectively prevent SQL injection attacks. 1) Use PDO to connect to the database and set the error mode. 2) Create preprocessing statements through the prepare method and pass data using placeholders and execute methods. 3) Process query results and ensure the security and performance of the code.
