手写PHP API框架(一)之PSR规范

本篇文章给大家带来了关于php的相关知识,其中主要跟大家聊一聊编码规范,也建议大家在开发中尽量遵循规范,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

创作初衷

  • 有没有用烦了CURD?
  • 各种框架是不是有点头大?
  • 有没有尝试自己设计一个框架?
  • 学了PHP语法,没有项目去实战,夯实基础

希望能帮助能让你快速地搭建一个自己的框架,能给你的工作或者学习中带来一定的帮助与启发。

你能学到什么

  • PSR规范

  • composer的使用

  • 快速搭建一个API接口框架

  • Redis各种数据类型的应用

  • 缓存应用分析


在开发框架之前,我来介绍框架开发遵循的规范。

大多数编程语言都有自己的一套编码规范,作为“世界上最好的语言”,PHP当然也有自己的编码规范。这个规范就是PHP Standard Recommendation(简称PSR)。

当然,从我自己的工作中,我发现很多PHP程序员尤其是初级程序员,是不知道PHP是有这么一个规范的,我认为这是不科学的。

什么是PSR?

介绍PSR之前需要介绍一下制定此规范的组织—–PHP-FIG,全称是PHP Framework Interoperability。

组织成员制定规范,并且落实在自己的项目中,虽然不是官方组织,但也代表了大部分PHP社区项目,如CakePHP,Composer,Drupal,PEAR,Slim,Yii framework,Zend Framework等。并且有越来越多的项目加入并遵循此标准。

PSR项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,让工程师一起更好协同工作。

截止目前,已经官网已有20条列出,除去起草中和舍弃的,有以下13条。

PSRs


我们不妨来看看这些规范:

PSR-1 基础编码规范

  • PHP 代码文件必须以 <?php 或 <?= 标签开始
  • PHP 代码文件必须以不带BOM的UTF-8编码
  • PHP 代码中 应该 只定义类、函数、常量等声明,或其他会产生 副作用 的操作(如:生成文件输出以及修改 .ini 配置文件等),二者只能选其一
  • 命名空间以及类必须符合 PSR 的自动加载规范PSR-4
  • 类的命名必须遵循 StudlyCaps 式大写开头的驼峰命名规范
  • 类中的常量所有字母都必须 大写,单词间用下划线分隔
  • 方法名称必须符合 camelCase 式的小写开头驼峰命名规范

PSR-12 代码风格规范

PSR-12的规范很细致,包含了声明、命名空间、类及继承以及控制结构等说明。

我们先来看一个demo:

<?php

declare(strict_types=1);

namespace VendorPackage;

use VendorPackage{ClassA as A, ClassB, ClassC as C};
use VendorPackageSomeNamespaceClassD as D;

use function VendorPackage{functionA, functionB, functionC};

use const VendorPackage{ConstantA, ConstantB, ConstantC};

class Foo extends Bar implements FooInterface
{
    public function sampleFunction(int $a, int $b = null): array
    {
        if ($a === $b) {
            bar();
        } elseif ($a > $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // method body
    }
}

登录后复制

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 手写PHP API框架(一)之PSR规范
温馨提示您:本站所载文章、数据仅供参考,如果有文章侵犯了您的权益,请来信告知我们删除,联系邮箱:976157886@qq.com
Copyright © 2023 自学咖网 - All rights reserved 浙ICP备2023005527号