PDA

View Full Version : سوال: مشکل در کدی که شبیه به opencart هست ؟



redhat2
چهارشنبه 29 خرداد 1392, 20:04 عصر
میخواستم بدونم که کد من چه مشکلی داره :

index.php :



require_once 'registry.php';
require_once 'bCo.php';
require_once 'sampleCo.php';
require_once 'indexCo.php';
$registry = new registry();
$registry->sampleCo = new sampleCo();
$bCo = new bCo($registry);
$indexCo = new indexCo($registry);
$indexCo->echoname();


registry.php :



final class registry {

public $registry = array();

public function __set($name, $value) {
$this->registry[$name] = $value;
}

public function __get($name) {
return $this->registry[$name];
}

}



bco.php :




class bCo {

public $registry;

public function __construct($registry) {
$this->registry = $registry;
}

public function __set($name, $value) {
$this->registry[$name] = $value;
}

public function __get($name) {
return $this->registry[$name];
}

}


sampleco :



class sampleCo {

public function sample() {
echo "Yes , this is the sample page in view action ";
}

}


indexco.php :



class indexCo extends bCo {

public function echoname() {
$this->sampleCo->sample();
}

}


htaccess را هم جوری تنظیم کردم که rewrite بشه روی index.php .

من میخوام تویه indexco در متد echoname به کلاس SampleCo و متد

$this->sampleCo->sample();

در حقیقت از انیک کلاس Sampleco ، اینستنس :لبخند: گرفته شده و من اونو فرستادم تویه کلاس bco و کلاس bco را تویه indexco آوردم یعنی extend کردم ، ولی مشکلی که هست اینه که این اررور را میده

Cannot use object of type registry as array in C:\wamp\www\OOP\bCo.php on line 16

، کلا چطوری میشه یه همچین ساختاری را پیاده کرد ، تویه opencart هم از این ساختار استفاده شده .

redhat2
چهارشنبه 29 خرداد 1392, 22:02 عصر
میشه زودتر بذارین ، آخه میگن تا حالش هست کارو بکن . :لبخند: یا اگه میشه در مورد این مکانیسم یکم توضیح بدین . ممنون .