psr-1
php標籤: <?php
編碼:utf8
自動載入:名稱空間和類需滿足psr4的規範
類的名稱:駝峰式 CameCase
常量:全部大寫,下劃線分開 GREAT_SCORE
方法名:首字母小寫駝峰,cameCase
psr-2
縮排:四個空格 代替 tab
關鍵字:統一使用小寫,false true null
名稱空間:名稱空間後需空一行,use後面也空一行
方法和類括弧:統一單獨一行
psr-3
日誌記錄介面
日誌類需實現 Psr\Log\LoggerInterface介面
日誌可使用成熟第三方擴充 monolog/monolog,而不必重複寫
psr-4 自動載入器
composer會生成自動載入器,而不需要手動編寫
手寫自定義載入器
spl_autoload_register(function($class){
//專案名稱空間字首
$prefix = 'Foo\\Bar\\';
//名稱空間字首對應的基目錄
$base_dir = __DIR__.'/src/';
$len = strlen($prefix);
//例項化的類的名稱空間,是否和專案名稱空間一致(不一致則讓其他載入器載入)
if(strncmp($prefix, $class, $len) !== 0){
return;
}
$relative_class = substr($class, $len);
$file = $base_dir.str_replace('\\', '/', $relative_class).'.php';
if(file_exists($file)){
require $file;
}
});
$class = new \Foo\Bar\Student();
本作品採用《CC 協議》,轉載必須註明作者和本文連結