2012-11-28 124 views
2

比方說,我有一個名爲smallBox.php一個類文件:在類中包含類是不好的做法嗎?

<?php 
class SmallBox { 

    public function boxMethod() {} 

} 

我那麼包括smallBox.php使用「需要」文件到另一個類:

<?php 
class BigBox { 

    public function __construct() { 

     require 'smallBox.php'; 
     $box = new SmallBox(); 
     $box->boxMethod(); 

    } 

} 
?> 

我是新來的PHP OOP和MVC,並想知道是否在BigBox類中包含smallBox.php被認爲是不好的做法?

+0

您可能會在http://cstheory.stackexchange.com/ –

+0

bad \好它的所有情況下得到更好的答案。 – 2012-11-28 05:20:30

+0

嘗試[自動加載](http://phpmaster.com/autoloading-and-the-psr-0-standard) – Gordon

回答

1

這將起作用,但請記住,當您包含或需要其他文件時,這些文件變量將在其所包含的範圍內運行。我曾嘗試用「加載器」類來模擬javas的導入行爲,但遇到了這個問題,因爲我所加載的類在該主類的範圍之外不可用。檢查手冊以獲得更多清晰度。

2

使用required_once和include_once。使用包括結構類聲明之前

include_once 'path/to/class/a.php'; 

class B extends A 
{ 
    public function __construct() 
    { 
    // your code 
    } 

} 
相關問題