2016-05-05 2 views
0

Возможно, это только я, но я не уверен, что это делает и почему они должны это делать?Laravel Loading Service Provider and Alias ​​

в провайдеров, которые загружаются в Laravel они сделали это

'providers' => [ 
 

 
     /* 
 
     * Laravel Framework Service Providers... 
 
     */ 
 
     Illuminate\Auth\AuthServiceProvider::class, 
 
     Illuminate\Broadcasting\BroadcastServiceProvider::class, 
 

 
...

же для псевдонима

'aliases' => [ 
 

 
     'App' => Illuminate\Support\Facades\App::class, 
 
     'Artisan' => Illuminate\Support\Facades\Artisan::class, 
 

 
...

Wha t делает класс :: class и почему они не могут просто оставить это так?

'aliases' => [ 
 

 
     'App' => Illuminate\Support\Facades\App, 
 
     'Artisan' => Illuminate\Support\Facades\Artisan,

ответ

0

Это просто возвращает имя класса с пространством имен!

С PHP 5.5 ключевое слово класса также используется для разрешения имен классов. Вы можете получить строку, содержащую полное имя класса ClassName, с помощью класса ClassName :: class. Это особенно полезно для классов с именами.

namespace NS { 
    class ClassName { 
    } 
    echo ClassName::class; 
} 

Приведенный выше пример выведет:

NS\ClassName 

Source 1

Php manual