好的,我已經掌握了編寫類和方法的基礎知識,並對它們進行了擴展。php - 一個對象可以引用父對象的方法嗎?
我可以很容易地寫出一個龐大的類,其中包含我可能想要的所有方法或者幾個只是在鏈中相互延伸的類。但事情開始變得難以管理。
我想知道如果我可以做下面的代碼,所以我可以保持「模塊」分開,並且只在需要時纔開啓它。我希望這對我希望的某種意義有所幫助實現:
// user/member handling methods "module"
class db_user
{
public function some_method()
{
// code that requires parent(?) objects get_something() method
}
}
// post handling methods "module"
class db_post
{
public function some_method()
{
// code that requires parent(?) objects update_something() method
}
}
class db_connect()
{
public $db_user;
public $db_post;
public function __construct()
{
// database connection stuff
}
public function __destruct()
{
// blow up
}
// if i want to work with user/member stuff
public function set_db_user()
{
$this->db_user = new db_user();
}
// if i want to work with posts
public function set_db_post()
{
$this->db_post = new db_post();
}
// generic db access methods here, queries/updates etc.
public function get_something()
{
// code to fetch something
}
public function update_something()
{
// code to fetch something
}
}
,所以我會再創建一個新的連接對象:
$connection = new db_connect();
需要與用戶如此工作..
$connection->set_db_user();
$connection->db_user->some_method();
現在我需要做的與職位,東西..
$connection->set_db_post();
$connection->db_post->some_method();
$connection->db_post->some_other_method();
我希望有人能幫助我在這裏,我一直在尋找了幾天,但似乎無法找到比其他任何信息基本上把它全部保存在一個類中,或者創建一個無限的擴展鏈 - 這沒有什麼幫助,因爲雖然我希望所有的工作都通過一個「接口」來實現,但我仍然希望將這些「模塊」分開。
我的道歉,如果這似乎太荒謬了不知何故 - 我是新手畢竟..
如果我理解正確...它不是「父」方法,但r ather「容器」方法。對於選項,通過'db_connect'中的方法(作爲包裝)和傳遞連接對象來暴露訪問,或者當創建'db_user/db_post'對象時,傳入''包含「它們的'db_connect'對象。快樂的編碼。 – 2011-07-09 17:03:51