欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php psr 縮寫

王梓涵1年前7瀏覽0評論

PHP PSR,全稱 PHP Standard Recommendation,是 PHP 社區中一系列編碼風格的規范。PHP PSR 規范的目的是為了讓 PHP 代碼更加統一,更加易于閱讀和維護。下面我們來詳細了解一下 PHP PSR 中一些重要縮寫。

PSR-0

<?php
// 以 namespace 為根目錄,以類名為文件名,自動加載
spl_autoload_register(function ($className) {
$className = ltrim($className, '\\');
$fileName  = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
});

PSR-0 定義了 PHP 代碼的自動加載規范,要求每個 PHP 文件必須定義一個與它的 namespace 和類名相匹配的相對路徑。如下面例子中,類名為 Foo_Bar_Baz 的文件路徑應該為 Foo/Bar/Baz.php:

namespace Foo\Bar;
class Baz {}

PSR-1

PSR-1 定義了 PHP 代碼中一些基本的編碼規范,如變量和函數的命名規則、空格的使用、文件的結束符等等。

PSR-2

PSR-2 定義了更多關于 PHP 代碼編碼規范的細節,如縮進的方式、花括號的使用等等。下面是一個示例代碼,符合 PSR-2 規范:

<?php
namespace Vendor\Package;
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements FooInterface
{
const CONSTANT_NAME = 'constant value';
protected $foo;
public function sampleMethod($a, $b = null)
{
if ($a === $b) {
bar();
} elseif ($a > $b) {
$this->foo($a + $b);
} else {
BazClass::doSomething($a, $b, self::CONSTANT_NAME);
}
}
}

PSR-4

<?php
// 以根目錄為基準,采用 namespace 和類名的目錄結構,自動加載
spl_autoload_register(function ($class) {
$prefix = 'Vendor\\Package\\';
$baseDir = __DIR__ . '/src/';
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
return;
}
$file = $baseDir . str_replace('\\', '/', substr($class, $len)) . '.php';
if (file_exists($file)) {
require $file;
}
});

PSR-4 和 PSR-0 非常相似,只是 PSR-4 更加靈活,可以自己定義根目錄,而且代碼可以直接以類名為文件名。

總結

以上就是 PHP PSR 中一些常見的縮寫及其含義,這些規范在實際項目開發中非常重要,既可以提升開發效率,也可以提高代碼的可讀性和可維護性。

上一篇php project
下一篇php psr 1