0
組織和有關類
嗯,我想我的老代碼,適應更多的面向對象的模型,但我覺得在這樣做的困難。我的課程結構如下所示:在PHP
// config.php
class Config {
const Setting1 = 'value';
const Setting2 = 'value';
}
// main.php
include 'config.php'
class Main {
var $Config;
var $Info;
var $Db;
function _construct() {
$this->Config = &new Config;
$this->Info = &new Info;
$this->Db = &new Db($this);
}
}
class Info {
function getSetting($a, $Config) {
if ($a>0) return $Config::Setting1;
return $Config::Setting2;
}
}
class Db {
function _construct($Main) {
$Setting1 = $Main->Config::Setting1;
}
}
// index.php
$Main = new Main;
echo $Main->Info->getSetting(1, $Main->Config);
因此,如您所見,此代碼中存在不正確的內容。我想是有Main
類中的一切,創建$Main
對象,並從那裏訪問任何其他對象。 Db
將需要從Config
一個常數,但我不想在Db
內創建一個新的Config
,但使用Main
中的一個。信息也是一樣。
這是你無法從主訪問當前的對象? – steven
問題出在這個代碼'$ Setting1 = $ Main-> Config :: Setting1'。我收到了T_PAAMAYIM_NEKDOTAYIM錯誤 – ali
這種設計的目的是什麼?首先,VAR的應該由私人進行更換,保護或公開,其次,你可以寫在主要方法是將通過類似的寫入方法getSetting內對象的工作($ A),將自動傳遞配置到內部構件,它將使主類使用simplier閱讀 – insanebits