ThinkPHP
의 index.php
에 다음을 추가했습니다.
<code>// 添加第三方库自动加载 require './vendor/autoload.php';</code>
단, 사용 시에는 类不存在
메시지가 표시됩니다.
단, Controller
에 require
을 추가하여 사용할 수 있습니다.
<code>require APP_PATH.'../vendor/autoload.php'; </code>
원인은 무엇인가요? 클래스 로더는 하나만 존재할 수 있나요? ThinkPHP도 하나 작성했는데, 이로 인해 Composer의 클래스 로더를 덮어쓰게 되었다고요?
아시는 분 계시나요? 모두 감사합니다.
이 질문을 보니 영어 문서에 있다고 응답자가 있었습니다.
spl_autoload_register는 여러 로더가 필요한 상황을 처리할 수 있습니다. 이 경우 spl_autoload_register는 이전에 등록된 로더를 순서대로 호출합니다. 반면에 __autoload는 함수이기 때문에 한 번만 정의할 수 있습니다.
여러 개가 있어야 합니다.
ThinkPHP
의 index.php
에 다음을 추가했습니다.
<code>// 添加第三方库自动加载 require './vendor/autoload.php';</code>
단, 사용 시에는 类不存在
메시지가 표시됩니다.
단, Controller
에 require
을 추가하여 사용할 수 있습니다.
<code>require APP_PATH.'../vendor/autoload.php'; </code>
원인은 무엇인가요? 클래스 로더는 하나만 존재할 수 있나요? ThinkPHP도 하나 작성했는데, 이로 인해 Composer의 클래스 로더를 덮어쓰게 되었다고요?
아시는 분 계시나요? 모두 감사합니다.
이 질문을 보니 영어 문서에 있다고 응답자가 있었습니다.
spl_autoload_register는 여러 로더가 필요한 상황을 처리할 수 있습니다. 이 경우 spl_autoload_register는 이전에 등록된 로더를 순서대로 호출합니다. 반면에 __autoload는 함수이기 때문에 한 번만 정의할 수 있습니다.
여러 개가 있어야 합니다.
5.0版本支持Composer安装的类库的自动加载,你可以直接按照Composer依赖库中的命名空间直接调用。
이것은 thinkphp가 작곡가의 자동 로딩 메커니즘을 통합했다는 것을 의미합니다. 다운로드한 후 필요한 경우 네임스페이스를 가져오는 데 사용하면 됩니다. require APP_PATH.'../vendor/autoload.php';
직접 작성하면 됩니다.
맙소사 원인은 알겠습니다... require
가 ThinkPHP.php
에 있기 전, 소개된 이후에는 사실 require './ThinkPHP/ThinkPHP.php';
당시에는 이미 , 통과했습니다 경로가 진입했습니다 执行ThinkPHP
...Controller
틀림:
<code>// 引入ThinkPHP入口文件 require './ThinkPHP/ThinkPHP.php'; // 添加第三方库自动加载 require './vendor/autoload.php';</code>
오른쪽: