高清国产美女一级毛片_91短视频版在线观看www免费_久久久久久久综合_国产精品爱久久久久久久电影

福州網站建設>網站新聞>php技術

PHP規范PSR0和PSR4的理解

發布日期:2021-04-07瀏覽次數:1492 來源:福州網站建設

一、PSR0簡介
下文描述了若要使用一個通用的自動加載器(autoloader),你所需要遵守的規范:
一個完全標準的命名空間(namespace)和類(class)的結構是這樣的:\<Vendor Name>\(<Namespace>\)*<Class Name>
每個命名空間(namespace)都必須有一個頂級的空間名(namespace)("組織名(Vendor Name)")。
每個命名空間(namespace)中可以根據需要使用任意數量的子命名空間(sub-namespace)。
從文件系統中加載源文件時,空間名(namespace)中的分隔符將被轉換為 DIRECTORY_SEPARATOR。
類名(class name)中的每個下劃線_都將被轉換為一個DIRECTORY_SEPARATOR。下劃線_在空間名(namespace)中沒有什么特殊的意義。
完全標準的命名空間(namespace)和類(class)從文件系統加載源文件時將會加上.php后綴。
組織名(vendor name),空間名(namespace),類名(class name)都由大小寫字母組合而成。
參考:http://www.php-fig.org/psr/psr-0/
以下,列出PSR0構建的規范類的幾種形式:






二、實現PSR0自動加載
function autoload($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;
}
spl_autoload_register('autoload');


三、PSR4簡介
這個 PSR 描述的是通過文件路徑 自動載入 類的指南;它作為對  PSR-0  的補充;根據這個 指導如何規范存放文件來自動載入;
術語「類」是一個泛稱;它包含類,接口,traits 以及其他類似的結構;


完全限定類名應該類似如下范例:


<NamespaceName>(<SubNamespaceNames>)*<ClassName>


完全限定類名必須有一個頂級命名空間(Vendor Name);
完全限定類名可以有多個子命名空間;
完全限定類名應該有一個終止類名;
下劃線在完全限定類名中是沒有特殊含義的;
字母在完全限定類名中可以是任何大小寫的組合;
所有類名必須以大小寫敏感的方式引用;
當從完全限定類名載入文件時:


在完全限定類名中,連續的一個或幾個子命名空間構成的命名空間前綴(不包括頂級命名空間的分隔符),至少對應著至少一個基礎目錄。
在「命名空間前綴」后的連續子命名空間名稱對應一個「基礎目錄」下的子目錄,其中的命名 空間分隔符表示目錄分隔符。子目錄名稱必須和子命名空間名大小寫匹配;
終止類名對應一個以 .php 結尾的文件。文件名必須和終止類名大小寫匹配;
自動載入器的實現不可拋出任何異常,不可引發任何等級的錯誤;也不應返回值;


參考:http://www.php-fig.org/psr/psr-4/
在其中有以下的類實例,但是相對與PSR0,卻是不太容易明白


首先,\Symfony\Core\Request和\Zend\Acl很好理解,其滿足PSR0規范,但是\Acme\Log\Writer\File_Writer就不太好理解了。
四、Composer對PSR4的處理
看了Composer對PSR4的處理,才能比較容易理解PSR4。自動生成的PSR4配置文件名稱為autoload_psr4.php(PSR0的是autoload_namespace.php),配置文件返回一個關聯數組,鍵是名稱空間的前綴,值是名稱空間前綴對應的路徑。


以\Acme\Log\Writer\File_Writer作為例子,其名稱空間前綴是\Acme\Log\Writer,則其在autoload_psr4.php表示為
'\<span style="font-size:14px;">\Acme\\Log\\Writer</span>' => (array) './acme-log-writer/lib/'
使用自動加載時,先通過名稱空間的前綴,找到對應的映射路徑,在根據PSR0規范找到對應的類定義文件。但是這里有些例外,類名中的下劃線在PSR4中是不需要轉換成目錄的。


使用PSR4,我覺得有2個好處:
1. 減少代碼目錄的深度
2. 可以通過前綴快速找到映射目錄,提高自動加載的效率
————————————————
版權聲明:本文為CSDN博主「loophome」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/loophome/article/details/52066981

以上是由福州網站建設的小編為你分享了"PHP規范PSR0和PSR4的理解"文章,如果你在這方面有什么問題,隨時聯系我們

php技術有關的文章
如果您有什么問題,歡迎咨詢我們客服! 點擊QQ咨詢
高清国产美女一级毛片_91短视频版在线观看www免费_久久久久久久综合_国产精品爱久久久久久久电影

        精品少妇一区| 久久中文字幕av| 激情久久中文字幕| 国产精品久久观看| 福利在线免费视频| 成人小电影网站| 久久精品国产网站| 国产精品qvod| 色爱综合网欧美| 久久久国产精品一区二区中文| 久久婷婷一区| 五月婷婷六月综合| 日韩在线一区二区| 亚洲有吗中文字幕| 日本一区福利在线| 国产日韩欧美三级| 精品国产不卡一区二区| 日韩欧美综合| 欧美99久久| 日本中文字幕视频一区| 欧美日韩一区二区国产 | 久久99免费视频| 精品久久不卡| 欧美成人亚洲| 日韩一区二区三区高清在线观看| 国产美女久久| 欧美一区久久久| 亚洲视频二区| 精品视频网站| 不卡一区综合视频| 日本一区二区三区中文字幕| 国内在线观看一区二区三区| 国产精品av久久久久久麻豆网| 亚洲18在线| 日韩欧美一区二区三区在线视频| 夜夜精品视频| 国产精品原创| 亚洲另类黄色| 另类中文字幕国产精品| 亚洲区第一页| 亚洲不卡av不卡一区二区| 日韩欧美美女在线观看| 日韩在线高清| 国产日韩三级| 午夜一区在线| 日韩av首页| 国产精品伊人| 丝袜美腿亚洲一区| 日韩中文影院| 国产精品久久亚洲不卡| 激情综合网五月| 国产一区国产二区国产三区 | 高清在线一区| 三级在线观看一区二区| av免费不卡国产观看| 青青草伊人久久| 日韩中文字幕亚洲一区二区va在线 | 欧美激情视频一区二区三区在线播放| **爰片久久毛片| 日韩视频在线一区二区三区 | 青青国产精品| 在线视频日韩| 久久狠狠婷婷| 日韩黄色大片网站| 久久97视频| 国产精品一区2区3区| 尤物在线精品| 日韩不卡免费高清视频| 美女精品视频在线| 日本视频在线一区| 蜜桃久久久久久| 好吊一区二区三区| 91精品韩国| 啪啪国产精品| 欧美freesex黑人又粗又大| 久久99免费视频| 欧美亚洲一级| 日本国产亚洲| 欧美午夜三级| 国产情侣一区在线| 国产日产高清欧美一区二区三区| 日韩久久99| 天堂俺去俺来也www久久婷婷| 久久电影一区| 日本大胆欧美人术艺术动态| 不卡中文字幕| 伊人久久大香线蕉av超碰演员| 激情偷拍久久| 亚洲中午字幕| 久热综合在线亚洲精品| 亚洲免费影视| 亚洲区欧美区| 国产日产一区| 91亚洲一区| 欧美丝袜一区| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕日韩欧美精品高清在线| 亚洲一级少妇| 欧美日韩视频网站| 欧美日韩水蜜桃| 欧美日韩在线网站| 国产精品免费看| 爽好久久久欧美精品| 中文无码日韩欧| 日韩av一区二区三区| 国产日韩欧美三区| 中文字幕人成乱码在线观看| 91精品亚洲| 丝袜美腿成人在线| 国产激情综合| 91精品精品| 视频一区视频二区中文| 国产三级精品三级在线观看国产| 卡一精品卡二卡三网站乱码| 色天使综合视频| 日韩在线观看一区二区| 国产午夜久久av| 日韩毛片在线| 亚洲精品美女| 欧美sm一区| 日韩在线视频一区二区三区| 国产精品久久国产愉拍| 国产精品久久久久av电视剧| av不卡在线| 精品久久网站| 国产亚洲精品久久久久婷婷瑜伽| 日韩一区二区三区精品| 精品国产第一福利网站| 91久久国产| 国产精品成人**免费视频| 久久精品青草| 一区二区精品| 久久久噜噜噜| 欧美日韩一视频区二区| 国产99精品| 欧美黄色精品| 免播放器亚洲| 亚洲综合电影| 国产精品一区高清| 午夜视频精品| 国产一二在线播放| 日韩和欧美一区二区三区| 久久一区二区三区电影| 国产欧美日韩一区二区三区四区| 欧美日韩国产高清电影| 麻豆视频一区二区| 亚洲开心激情| 亚洲成人免费| 国产传媒在线| 国产另类在线| 日韩三级精品| 亚洲欧美日韩一区在线观看| 不卡福利视频| 国产精品最新自拍| 免费看日韩精品| 午夜欧美精品| 免费黄色成人| 久久精品影视| 在线一区av| 精品三级在线观看视频| 欧美一区二区三区久久| 国产美女精品| 午夜电影亚洲| 免费久久精品| 婷婷亚洲五月| 91精品福利| 女同性一区二区三区人了人一| 偷拍精品精品一区二区三区| 精品一区视频| 精品视频网站| 精品国产亚洲一区二区在线观看| 日韩精品亚洲aⅴ在线影院| 水野朝阳av一区二区三区| 激情久久五月| 亚洲国产一区二区三区在线播放| 亚洲黄色免费看| 亚洲黄色免费av| 综合日韩av| 日韩精品欧美| 91精品久久久久久久久久不卡| 日韩欧美一区二区三区在线视频 | 伊伊综合在线| 日韩久久精品| av一区在线| 欧美不卡在线| 一区在线免费| 视频一区二区不卡| 视频一区二区国产| 日本aⅴ亚洲精品中文乱码| 亚洲欧美日韩视频二区| 免费视频最近日韩| 日韩三级视频| 国产精品久久久久77777丨| 国产在线日韩精品| 日韩欧美一区二区三区在线视频 | 91精品蜜臀一区二区三区在线| 欧美香蕉视频| 国产精品日本欧美一区二区三区| 视频一区二区不卡| 奇米色欧美一区二区三区|