선택한 파일이 필요한 "로더 클래스"를 만들고 싶습니다.using using a class
그래서 저는 전화를 할 수 있습니다. loader :: load ('systemLibraries,'applicationLibraries ').
그래서이 load() 메소드 내부에서 require를 사용할 것입니다. 하지만이 시도하고 그것을 필요한 파일을 클래스 외부에서 사용할 수없는 것 같습니다.
전 세계적으로 어떻게 액세스 할 수 있습니까?
선택한 파일이 필요한 "로더 클래스"를 만들고 싶습니다.using using a class
그래서 저는 전화를 할 수 있습니다. loader :: load ('systemLibraries,'applicationLibraries ').
그래서이 load() 메소드 내부에서 require를 사용할 것입니다. 하지만이 시도하고 그것을 필요한 파일을 클래스 외부에서 사용할 수없는 것 같습니다.
전 세계적으로 어떻게 액세스 할 수 있습니까?
이 잘 작동합니다 :
class Loader{
function load($class_name)
{
require($class_name ".php");
}
}
Loader::load("MyClass");
$class = new MyClass;
는 MyClass에가 "MyClass.php"에 있음을 감안할 때 다른 한편으로
이
는,class Loader{
function load($class_name)
{
require($class_name ".php");
$class = new $class_name;
}
}
Loader::load("MyClass");
$class->doSomething();
하면 include.php
외모를 작동하지 않습니다 이 같은
$var = "Hi";
당신은 이것을 할 수 없습니다 :
Loader::load("include");
echo $var;
범위 문제가 있습니다.
정확히 에 대한 자세한 정보를 제공해야합니다. 액세스하려는 곳은입니다.
예, Chacha가 지적했듯이 클래스의 인스턴스를 로더 클래스 외부에 만들어야합니다. 일반적으로 시스템에서 항상 필요로하는 시스템 라이브러리을 사용 했으므로 __autoload magic function을 사용하면 자동으로 모두 포함됩니다.