2016-07-26 72 views
0

我正在用zend 2框架編寫應用程序。我沒有使用它,前一段時間做了小應用程序也許與zend 1.zend 2文檔中的公共實體屬性 - 它好嗎?

我看到什麼是不平常的我 - 公共財產。我認爲這很糟糕。但是Zend公司表示這樣的例子:

namespace Album\Model; 

class Album 
{ 
    public $id; 
    public $artist; 
    public $title; 

    public function exchangeArray($data) 
    { 
     $this->id  = (!empty($data['id'])) ? $data['id'] : null; 
     $this->artist = (!empty($data['artist'])) ? $data['artist'] : null; 
     $this->title = (!empty($data['title'])) ? $data['title'] : null; 
    } 
} 

https://framework.zend.com/manual/2.3/en/user-guide/database-and-models.html

是有利於這種情況?爲什麼?

回答

1

爲了這些例子,zend傾向於簡化他們的代碼,但是當你開發你的應用程序時,你必須使用你學到的最佳實踐。所以如果你認爲這些屬性至少應該受到保護,那就這樣吧,這很好,我同意你的看法。

有時候zend,當他們解釋一些東西,並使用ServiceLocator在控制器中使用它時,根本不是一個好習慣,因爲serviceLocator不是那種意思,再加上它從控制器中刪除ZF3。他們再次解釋一些概念,爲了教程的緣故,他們給了一些不好的代碼。社區遭受了這個。

我建議你對Zend在教程中給出的內容持懷疑態度,他們只是解釋功能,但不能盲目複製它們提供的內容。只明白他們的意思。