搜尋

首頁  >  問答  >  主體

究竟有沒有必要使用php的命名空間?

1.在thinkphp3.2時代沒有使用命名空間,但是程式碼看起來也不會很冗餘,也沒說造成什麼太大的不便
2.之前曾經看過一個其他人做的專案使用命名空間,看起來其實每個類別檔案也use很多命名空間

#3.究竟命名空間真的很有必要用嗎?不用就會造成不便嗎?

天蓬老师天蓬老师2805 天前883

全部回覆(8)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-06-05 11:09:17

    當你引入的類別中有很多是同名的時候,你就知道命名空間的作用了。

    例如 Domain 裡面有個 User 類,Service 裡面有個 User 類,Web 裡面有個 User 類。

    回覆
    0
  • 習慣沉默

    習慣沉默2017-06-05 11:09:17

    談問題,為啥總用tp舉例

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-06-05 11:09:17

    對於大型項目,很有必要

    否則,引入不同函式庫出現同名函數混淆就不好了

    回覆
    0
  • PHPz

    PHPz2017-06-05 11:09:17

    現代php很需要

    回覆
    0
  • 習慣沉默

    習慣沉默2017-06-05 11:09:17

    可能現在你接觸到的項目感覺不出命名空間的作用,但人是應該向前看的,語言的更新也是一樣的,任何事物存在即合理,至於命名空間的作用就不多說了,隨便google一下一大堆告訴你為什麼要用命名空間,你只需要知道你使用了會更好,人不就是往更好方向發展嗎?

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-05 11:09:17

    談問題,為啥總用tp舉例111

    回覆
    0
  • 怪我咯

    怪我咯2017-06-05 11:09:17

    可能現在你接觸到的項目感覺不出命名空間的作用,但人是應該向前看的,語言的更新也是一樣的,任何事物存在即合理,至於命名空間的作用就不多說了,隨便google一下一大堆告訴你為什麼要用命名空間,你只需要知道你使用了會更好,人不就是往更好方向發展嗎?

    回覆
    0
  • 黄舟

    黄舟2017-06-05 11:09:17

    其實命名空間的主要目的就是為了解決同名類別衝突的問題。

    在還沒有命名空間,老式的寫法是照classmap的寫法去命名類別。如System_Controller.php下劃線的寫法;轉變為現在的SystemController的寫法;

    無論是classmap,或是命名空間,只要按著一定的規則,然後透過spl_autoload_register方式去引入。都不會造成類別名稱的衝突;命名空間在專案中不是必須,只是一個技術發展的產物!

    況且這點跟其他語言很類似(如java等),大家都這樣,PHP不這樣話,跟不上潮流。 。哈哈! !

    回覆
    0
  • 取消回覆