나는 웹 프로그래밍에 익숙하다. 데스크톱에서 C# .net 플랫폼을 잘 사용한다. 나는 PHP와 PHP 프레임 워크를 이해하려고했지만 조금 혼란 스럽다. 나는 PHP 파일 require_once 기능을 가진 다른 PHP 파일에 파일에있는 클래스를 가져올 수 있습니다 이해합니다. 하지만 프레임 워크는 require_once 함수로 자신의 클래스를 가져 오지 않습니다. 나는 그들이 뭔가 다른 것을한다고 생각해. 나는 이해하지 못한다. 누군가 나에게 설명해 줄 수 있니?백그라운드에서 PHP와 자체 프레임 워크는 어떻게 작동합니까?
1
A
답변
2
대부분의 프레임 워크는 "자동로드"라는 기술을 사용하여 필요한 종속성을 자동으로 해결하고 포함시킵니다.
"자동 로더"는 알 수없는 클래스를 참조 할 때 PHP에서 호출하는 함수입니다. "Autoloader"는 절차 적으로 클래스를 만들거나 파일 이름을 기준으로 외부 파일에서 간단히 include
파일을 만들 수 있습니다.
올바른 방법 (PHP 5.1.2 이상)은 spl_autoload_register()
을 사용하는 것입니다. 위의 예에서
function autoload_example($className) {
$normalizedName = strtolower($className);
if(file_exists('includes/' . $normalizedName . '.inc')) {
require_once('includes/' . $normalizedName . '.inc');
} elseif(file_exists('includes/' . $normalizedName . '.inc')) {
require_once('includes/' . $normalizedName . '.php');
} else {
die('Class ' . $className . ' not found');
}
}
spl_autoload_register('autoload_example');
$myAwesomeObject = new Awesome();
,이 클래스 Awesome
에 대한 참조를 칠 때 PHP는 "오토로더"autoload_example
를 실행합니다 : 여기에 자동 로더의 예입니다.
"자동 공급기"는 먼저 파일 include/awesome.inc
을 찾으려고 시도합니다. 발견 할 수 있다면 그것을 포함 할 것입니다.
그렇지 않은 경우 include/awesome.php
이라는 파일을 찾습니다. 발견 할 수 있다면 그것을 포함 할 것입니다.
그렇지 않은 경우 die()
은 내 Awesome
클래스를 찾을 수 없다는 것을 나타냅니다.
관련 문제
- 1. GUI 프레임 워크는 어떻게 작동합니까?
- 2. 스칼라를위한 "스펙"BDD 프레임 워크는 어떻게 작동합니까?
- 3. cocos2d 프레임 워크는 iPad에서 작동합니까?
- 4. CreateRemoteThread는 백그라운드에서 어떻게 작동합니까?
- 5. Ajax는 PHP와 어떻게 작동합니까?
- 6. 크로스 플랫폼 모바일 앱 개발 프레임 워크는 어떻게 작동합니까?
- 7. CSS 프레임 워크는 어떻게 사용됩니까?
- 8. MYSQL 자체 가입은 어떻게 작동합니까?
- 9. 프레임 워크는
- 10. DataMan iPhone App은 백그라운드에서 어떻게 작동합니까?
- 11. .net에서 자체 안드로이드 응용 프로그램 개발 - 무료 프레임 워크는 무엇입니까?
- 12. 코코아 프레임 워크는 어떻게 이름을 얻었습니까?
- 13. OSGi 프레임 워크는 어떻게 번들 ID를 설정합니까?
- 14. 어떻게 중첩 된 부하에 엔티티 프레임 워크는
- 15. 유니티 프레임 워크는
- 16. 엔터티 프레임 워크는 날짜가
- 17. 젠드 프레임 워크는
- 18. 커뮤니티 프레임 워크는 PHP
- 19. Zachman 프레임 워크는
- 20. .net 프레임 워크는 무료입니다
- 21. 젠드 프레임 워크는 하위 디렉토리
- 22. 젠드 프레임 워크는 -, 공용 폴더
- 23. 브라우저 기반 게임 - 선택할 프레임 워크는 무엇입니까?
- 24. PHP MVC 프레임 워크는 디자인
- 25. 파이썬 웹 프레임 워크는 무엇입니까
- 26. 석영 프레임 워크는 (맥) 설명
- 27. 모바일 웹 개발 프레임 워크는
- 28. ASP.Net을위한 대체 프레임 워크는 무엇입니까?
- 29. 엔티티 프레임 워크는 where 절
- 30. J2ME MVC 프레임 워크는 무엇입니까?