2018年1月18日 星期四

Namespace觀念與用法

最近查看別人寫的php程式碼,發現大量使用namespace 和 use

Namespace是物件導向語言很基本的功能,主要在解決class名稱衝突的問題。C++與C#也稱為namespace,Java則稱為package,雖然名稱不一樣,但精神都一樣,不過在語法部分PHP有自己的主張,與其他語言稍有不同。

假如是一個人從頭寫到尾的PHP專案,就不會遇到class名稱互相衝突的問題,但如果大量使用別人的framework或package,就很可能遇到class名稱相衝突的問題,所以才說namespace是PHP現代化最重要的基石。

Namespace的宣告會緊接著在<?php的下一行,命名規則建議最頂層的namespace名稱以vendor命名(公司名稱或組織名稱),必須是世界上唯一的名稱,以免class名稱雖然不衝突,但namespace名稱卻衝突了。

http://oomusou.io/php/php-namespace/ 說得很清楚


沒有留言:

張貼留言