먼저 상호 호환성을 수행 할 때 각 플랫폼에서 최상의 표준으로 실행되는 크로스 빵 응용 프로그램을 만들어야합니다.
/application/classes/database/core.php
/application/classes/database/util.php
/application/classes/database/misc.php
/compat/application/classes/database/core.php
/compat/application/classes/database/util.php
/compat/application/classes/database/misc.php
당신은 다음과 같습니다
내가 이런 짓을 했을까 방법은 PHP 5 개 세부 사항을 필요로하는 응용 프로그램의 절에서는 예를 들어 PHP4
에 대한 호환 파일을 호환 디렉토리를 생성하고로드 할 것입니다 다음 수행 할 수 있습니다
다음
function loadClass($path)
{
if (version_compare(PHP_VERSION, '5.0.0', '<'))
{
$path = "/compat/" . $path;
}
require_once $path;
}
loadClass("/application/classes/database/core.php");
시간이 지남에 아무도 당신이 단지의 compat 디렉토리를 삭제하고에서 체크를 제거 할 수 있습니다 PHP 4를 사용하지로.
대체 방법으로 오토로더를 등록 할 수 있습니다. 이렇게하면 응용 프로그램 내에서 require_once를 사용하여 프로그램을 작성하고 응용 프로그램을 통해 추가 기능을 사용할 필요가 줄어 듭니다.
위에서 언급 한 hte 클래스에 대한 질문에 정확히 답변 해 주시면 완벽하게 호환됩니다.
당신이 특별히 고려해야 할 PHP4에 대한 응용 프로그램을 만드는 고수 경우
- 이 수업 방법에 대한 공공/민간 수식을 사용하지 마십시오.
- 항상 클래스 이름을
__construct
대신 생성자로 사용하십시오.
- 클래스를 함수에 전달할 때는 항상
&
기호를 사용하여 참조를 전달해야합니다.
__tostring
또는 __destruct
과 같은 마법 방법을 사용하지 마십시오.
항상 PHP4 시스템에서 응용 프로그램을 만든 다음 최신 버전의 PHP5에서 테스트해야합니다. (적절히 수정하십시오)
나는 php4를 왜 사용하고 있습니까? – RobertPitt
물론, 나는 사용자가 전체 소프트웨어 패키지를 다운로드하여 시스템에 설치할 수있는 오픈 소스 프로젝트를 진행하고 있기 때문에. 우리는 이것을 사용자가 가능한 한 쉽게 만들고 PHP4/PHP5 및 MySQL4/MySQL5와 호환되도록하고 싶었습니다. 거의 모든 시스템이 현재 시스템에서 많이 변경하지 않고도 몇 번의 간단한 클릭만으로 패키지를 설치할 수 있습니다. – lugte098
오래되고 지원되지 않는 플랫폼 위에는 아무 것도 빌드하지 않아야합니다. – KingCrunch