redhat2
چهارشنبه 29 خرداد 1392, 21: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 هم از این ساختار استفاده شده .
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 هم از این ساختار استفاده شده .