언급했듯이 일부 Yii2 작성 방법에서는 다음과 같이 네임스페이스를 직접 로드할 수 있다는 것을 확인했습니다.
<code> namespace web\models; use Yii; use web\classes\CPost; //... code ... $post = new CPost;</code>
위 webmodels 네임스페이스에서는 new 키워드
를 사용하여 CPost 객체를 직접 생성할 수 있지만, 다음과 같이 네임스페이스에 대한 별도 테스트를 진행했습니다.
<code> namespace web\models; // include "../classes/CPost.php"; 这句必须取消注释才不报错 use web\classes\CPost; class MPost { public function run(){ echo "MPost->run()被调用"; } public function getClassFunc(){ $class = new CPost; $class->run(); //报错,提示找不到 web\classes\CPost对象 } } $post = new MPost; $post->getClassFunc(); </code>
테스트 코드에서 CPost 파일을 포함하지 않으면 오류가 발생합니다.
그러나 Yii2는 전체 과정에서 파일을 도입하지 않으며, 네임스페이스만을 이용하여 직접 새로운 객체를 생성할 수 있습니다.
죄송합니다. 무슨 일이 일어나고 있으며 어떻게 진행되고 있나요?
언급했듯이 일부 Yii2 작성 방법에서는 다음과 같이 네임스페이스를 직접 로드할 수 있다는 것을 확인했습니다.
<code> namespace web\models; use Yii; use web\classes\CPost; //... code ... $post = new CPost;</code>
위 webmodels 네임스페이스에서는 new 키워드
를 사용하여 CPost 객체를 직접 생성할 수 있지만, 다음과 같이 네임스페이스에 대한 별도 테스트를 진행했습니다.
<code> namespace web\models; // include "../classes/CPost.php"; 这句必须取消注释才不报错 use web\classes\CPost; class MPost { public function run(){ echo "MPost->run()被调用"; } public function getClassFunc(){ $class = new CPost; $class->run(); //报错,提示找不到 web\classes\CPost对象 } } $post = new MPost; $post->getClassFunc(); </code>
테스트 코드에서 CPost 파일을 포함하지 않으면 오류가 발생합니다.
그러나 Yii2는 전체 과정에서 파일을 도입하지 않으며, 네임스페이스만을 이용하여 직접 새로운 객체를 생성할 수 있습니다.
죄송합니다. 무슨 일이 일어나고 있으며 어떻게 진행되고 있나요?
spl 자동 로드, 그런데 작곡가를 배우세요
composer.json 파일의 내용을 확인하여 전체 디렉터리 또는 일부 파일의 자동 로드를 정의하는지 확인하세요.