오류 아래 코드를 사용할 때 다음 오류가 발생합니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니? 여기 클래스에서 확장 할 때 메모리 오류가 발생했습니다.
<?php
include('test_class1.php');
include('test_class2.php');
include('test_class3.php');
class Main_Class{
protected $test_class1;
protected $test_class2;
protected $test_class3;
private $objects_array = array();
public function Main_Class(){
$this->test_class1 = new Test_Class1();
$this->objects_array['test_class1'] = $this->test_class1;
$this->test_class2 = new Test_Class2();
$this->objects_array['test_class2'] = $this->test_class2;
$this->test_class3 = new Test_Class3();
$this->objects_array['test_class3'] = $this->test_class3;
}
public function get_Objects(){
return $this->objects_array;
}
}
?>
내가 세 가지 테스트 클래스에 사용하는 코드입니다 : 여기
은 내가 사용하는 코드입니다. 클래스 이름 번호와 함수 이름 번호에 대해서만 똑같은 코드입니다.Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in D:\dev\TESTCASE_classes_layout\main.class.php on line 18
<?php
class Test_Class1 extends Main_Class{
function test1(){
return 'hello';
}
}
?>
확장 부분과 관련이 있습니다. 왜냐하면 내가 확장 부분을 삭제하면 그것은 작동합니다. 나는이 클래스의 클래스를 인스턴스화하여 모든 클래스는 클래스의 다른 인스턴스를 생성하지 않고 서로를 호출 할 수 있습니다를 확장하는 것을 시도하고있다
:
은 여기 내 목표입니다.
어쩌면 당신이 그 사실을 알고 있다면 알려주는 더 좋은 방법이 있습니다.
'연장 부분'이란 정확히 무엇입니까? 이 스크립트는 내 컴퓨터에서 제대로 실행됩니다. 문제를 하나의 데모 파일로 끓여서 [codepad.org] (http://codepad.org/) 또는 [ideone.com] (http://ideone.com/)에 게시 한 다음 우리에게 그것에 대한 링크. – phihag
죄송합니다 코드를 편집하십시오. 나는 약간의 실수를했다. test_class1에 대한 확장 부분을 참조하십시오. – Controvi
아, PHP에서 버그를 발견 한 것 같습니다. 그럼에도 불구하고 코드가 올바르지 않습니다. 생성자에서 하위 클래스를 인스턴스화 할 수 없습니다. 나는 PHP는 버그를 게시 일단 나는 내가 당신의 대답을 기대하고있다 .... – phihag