정면 용 네임 스페이스를 가져 오는 올바른 방법은 무엇입니까 (예 : Hash::make
)?Laravel facades를 사용하거나 가져 오는 올바른 방법은 무엇입니까?
use Illuminate\Support\Facades\Hash
과 같은 가져 오기를 사용해야합니까?
사람들을 \Hash::make
(기본적으로 생성되는 컨트롤러와 같은 네임 스페이스 파일) 또는 Hash::make
(경로와 같은 네임 스페이스가없는 파일에서)으로 사용하는 사람들이있었습니다.
namespace {
exit("This file should not be included, only analyzed by your IDE");
class Hash extends \Illuminate\Support\Facades\Hash{
/** ... */
public static function make($value, $options = array()){
return \Illuminate\Hashing\BcryptHasher::make($value, $options);
}
하지만이 클래스가없는 루트 네임 스페이스에, Illuminate\Support\Facades\
네임 스페이스에있는 경우 작동 왜 이해가 안 :
또한 ide-helper 루트 네임 스페이스에 외관을 생성합니다.
hm. 나는 왜'artisan make : ...'에 의해 생성 된 모든 파일들이 별명을 사용하지 않고'\ Schema' 나'Use Schema' 대신에'Use Illuminate \ Support \ Facades \ Schema'와 같은 완전한 namespace 임포트를 포함하는지 궁금합니다. – AlexP11223
Don 원저자의 생각을 잘 모르고 있지만 여기에 2 센트입니다. 둘 다 정확하지만 외관이 빠릅니다. Donno는 속도가 훨씬 빠르지 만 자동로드 대기열에서 작동하므로 이유가있을 수 있습니다. 반면에 별칭의 존재 이유는 사용의 용이성입니다. 파사드의 FQDN을 기억할 필요는 없으며 루트 네임 스페이스에서 멋진 별칭을 사용하기 만하면됩니다. 코드를 생성 할 때 더 이상 그렇지 않습니다. 왜 별칭을 무시하지 않으시겠습니까? – sepehr