하나의 PHP 파일 만 가질 수 있습니다.하나의 파일에서 동적 클래스 정의
출력을 생성하기 위해 특정 경우에만 클래스를 정의해야합니다. 이 같은
뭔가 :이 코드
가if (date("j") == "1") {
echo "Not today";
exit;
}
new OutputGenerator();
class OutputGenerator {
// very large definition (~3500 lines)
}
문제는 PHP가 전체 파일을 처리하고 그 스크립트가 매우 느리게 만드는 것입니다. 클래스 선언이 없으면 초당 ~ 500 건의 요청을 처리 할 수 있습니다. 정의를 사용하면 (정의되기 전에 종료하더라도) 나는 50 % 만 얻으며 이는 90 %의 성능 저하입니다.
조건부로 선언문과 함께 외부 파일을 요구하면 내 문제가 해결되지만이 파일 내에 있어야합니다.
이렇게하려면 (eval()을 사용하거나 정의가있는 외부 파일이 필요합니다) 방법이 있습니까?
파일의 나머지 부분에 'else' 문을 사용하면 도움이됩니까? – kalley
성능 저하의 원인이되는 구성이 아니라 클래스 정의인지 확인할 수 있습니까? –
큰 문제는 클래스의 인스턴스화가 아무 것도 지정하지 않았기 때문에 모든 것이 생성자에서 수행되고 있으며 모든 매개 변수가 모든 항목에 대해 전역 변수를 사용하고 있기 때문에 중요하지 않습니다. – Orangepill