真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

phpPSR規(guī)范中的PSR4和PSR0規(guī)范實例分析

這篇文章主要介紹“php PSR規(guī)范中的PSR4和PSR0規(guī)范實例分析”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php PSR規(guī)范中的PSR4和PSR0規(guī)范實例分析”文章能幫助大家解決問題。

創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗,為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),以良好的商業(yè)信譽,完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

PSR4的格式

\<命名空間>(\<子命名空間>)*\類名

具體的內(nèi)容直接上文中提供的參考鏈接,這里總結(jié)重要的幾點:

  • 頂級命名空間必須有一個

  • 子命名空間可以多個或沒有

  • 類名必須有

  • 大小寫敏感,下劃線無實際意義(注意,下劃線是主要的和PSR0的區(qū)別)

類名與文件載入的對應(yīng)
  • 去掉最前面的命名空間的分隔符,前面的命名空間作為[命名空間前綴],必須與至少一個[文件基目錄]對應(yīng)

  • 子命名空間與[文件基目錄]下的文件夾對應(yīng),命名空間分隔符號作為目錄分隔符號

  • 末尾的類名,與最終目錄下的對應(yīng)的.php文件相同

  • autoload的實現(xiàn)不可出現(xiàn)異常,也就是要解決掉異常問題

估計各位看得一臉懵逼吧??!

其實很好理解,舉例說明,我們先建立一個目錄叫myvendor,里面放著常用的工具包,如圖:

php PSR規(guī)范中的PSR4和PSR0規(guī)范實例分析

那么TestClass.php的命名空間應(yīng)該是Test,而CaseClass的應(yīng)該是CaseModel\CaseChild。統(tǒng)一從myvendor這個文件夾作為入口進入。也就是myvendor是一個超級[基目錄],然后Test和CaseModel是對應(yīng)命名空間的兩個[文件基目錄],剩下的子個名空間與目錄對應(yīng)。官網(wǎng)中還有其他的展示方式,但在這里我們用這種最標(biāo)準(zhǔn)的方式。

其實說白了,就是命名空間和目錄對應(yīng)上,寫代碼找文件就方便得很啦!!

上面說的是PSR4的規(guī)范,那么PSR0又是什么鬼?目前來說PSR0已經(jīng)廢棄了,它們兩個大部分內(nèi)容還是相近的,最大的區(qū)別在于PSR0中的_這個符號是有意義的,也就是/namespace/package/Class_Name這樣的內(nèi)容,會去提供/namespace/package/Class/Name.php文件,而PSR4中則忽略_這個符號的意義,還是去查找Class_Name.php這個文件。

TestClass.php代碼


namespace Test;


class TestClass
{
   public function show()
   {
       echo "we are family!\n";
   }
}

CaseClass.php代碼


namespace CaseModel\CaseChild;

class CaseClass
{
   public function show()
   {
       echo "Good!\n";
   }
}

接下來,在myvendor目錄外面添加一個psr4.php文件,代碼如下:


spl_autoload_register(function ($class) {
   $vendor = __DIR__ . '/myvendor';
   $file   = $vendor . '/' . str_replace('\\', '/', $class) . '.php';
   if (file_exists($file)) {
       require $file;
   }
});

use CaseModel\CaseChild\CaseClass;
use Test\TestClass;

$t = new TestClass();
$t->show();

$c = new CaseClass();
$c->show();

關(guān)于“php PSR規(guī)范中的PSR4和PSR0規(guī)范實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


本文題目:phpPSR規(guī)范中的PSR4和PSR0規(guī)范實例分析
標(biāo)題鏈接:http://weahome.cn/article/ihjjph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部