首頁 後端開發 php教程 第十四节--命名空间--ClassesandObjectsinPHP514_PHP教程

第十四节--命名空间--ClassesandObjectsinPHP514_PHP教程

Jul 13, 2016 pm 05:24 PM
命名 空間

/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! +-------------------------------------------------------------------------------+ */ 第十四节--命名空间 命名变量,函数和类是挺困难的,除了要考虑到变量的名称要易于理解,还要担心是否这个名称在其它某个地方已经使用过. 在一小段脚本中,第二个问题是基本问题. 当你考虑重用你的代码, 在这之后的项目代码必须避免使用你用过的命名. 通常来说,可重用的代码总是包含在函数或类中, 需要处理许多可能发生的命名冲突. 但函数和类之间也可能发生命名冲突. 你可以尝试避免出现这种情况,通过在所有类前添加前缀的方法,或者你可以使用namespace语句. Namespace关键字给一块代码命名. 在这个代码块外部,脚本必须用操作符::加上命名空间的名称来引用这个代码块. 引用静态的类成员也是用相同的方法. 在命名空间内代码不需要声明命名空间, 它本身就是默认的. 这种方法比添加前缀的方法好. 你的代码可由此变得更加紧凑和可读. 你可能想知道是否可以建立分层的(嵌套的)命名空间. 答案是不可以. 但你可以在命名空间名称后加上冒号, 你可以再次调用在名称中不包含冒号的变量,函数和类. 命名空间允许存在冒号,只要不是第一个字符和最后一个字符或接着另一个冒号. 命名空间的名称中的冒号对于PHP来说没有任何意义, 但如果你用他们来区分逻辑上的区块, 他们可以很好地说明你的代码中的父子(parent-child)关系. /* 注: 即可以使用这样: namespace animal:dog {} namespace animal:pig {} 用冒号来说明parent-child关系. */ 你可能在一个命名空间语句内没有包含函数,类或常量定义以外的任何东西. 这将阻止你使用他们来改进旧的使用全局变量的函数库. 命名空间最适合于面向对象. 命名空间内的常量与类中的常量使用相同的语法. 例子6.17显示了如何使用命名空间. Listing 6.17 Using a namespace uppercase($text)); } } //test class in namespace 测试命名空间中的类 $e = new core_php:utility::textEngine; print($e->uppercase("from object") . "


"); //test function in namespace 测试命名空间中的函数 print(core_php:utility::uppercase("from function") . "
"); //bring class into global namespace 把类导入全局命名空间 import class textEngine from core_php:utility; $e2 = new textEngine; ?> Import语句把命名空间中的某个部份导入全局的命名空间. 要导入单一的命名空间的成员,可以指定类型为constant,function或class,接着写上成员的名称; //如import class XXX 如果你想导入某一特定类型的所有成员,你可以用*来代替名称; //如 import constant * 导入所有常量 如果你想导入所有类型的所有成员,用*即可. //如 import * 在成员之后,用from关键字加上命名空间的名称. //如 import class textEngine from core_php:utility; 总之你要写成像import * from myNamespace或 import class textEngine from core_php:utility这样的语句,就像例6.17中那样.

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532150.htmlTechArticle/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读 > | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

機器學習基礎之數字上的距離:點在空間中的距離 機器學習基礎之數字上的距離:點在空間中的距離 Apr 11, 2023 pm 11:40 PM

本文轉載自微信公眾號「活在資訊時代」,作者活在資訊時代。轉載本文請聯絡活在資訊時代公眾號。在機器學習中,一個基礎的概念就是如何判斷兩個樣本之間的差異,以便能夠評估兩個樣本之間的相似性和類別等資訊。而判斷這種相似性的測量就是兩個樣本在特徵空間內的距離。根據資料特徵的不同,度量方法有很多種。一般而言,對兩個資料樣本x,y,定義一個函數d(x,y),如果定義其為兩個樣本之間的距離,那麼d(x,y)則需要滿足以下幾個基本性質:非負性:d(x,y)>=0同一性:d(x,y)=0 ⇔ x=y對

如何在 Ubuntu 上新增交換空間 22.04 LTS 如何在 Ubuntu 上新增交換空間 22.04 LTS Feb 20, 2024 am 11:12 AM

交換空間在Linux系統中扮演著重要角色,特別是在系統記憶體不足時。它充當一個備用的記憶體儲存空間,可以幫助系統平穩運行,即使在負載高的情況下也能保持穩定性。本文為您提供了在Ubuntu22.04LTS上新增交換空間的詳細指南,以確保您的系統效能經過最佳化並能應付各種工作負載。了解交換空間交換空間提供虛擬內存,用於補充系統的實體RAM。當系統的RAM不足時,核心會將資料交換到磁碟,以防止記憶體不足和系統崩潰。 Linux系統常用交換空間來處理這種情況。同時運行多個內存密集型應用程式處理非常大的檔案或數據

C++ 函數命名中參數順序的考慮 C++ 函數命名中參數順序的考慮 Apr 24, 2024 pm 04:21 PM

在C++函數命名中,考慮參數順序至關重要,可提高可讀性、減少錯誤並促進重構。常見的參數順序約定包括:動作-物件、物件-動作、語意意義和遵循標準函式庫。最佳順序取決於函數目的、參數類型、潛在混淆和語言慣例。

c盤剩餘空間多大合適 c盤剩餘空間多大合適 Jun 27, 2023 pm 02:51 PM

c盤剩餘空間50-80G比較適合。由於系統在日後使用當中會產生垃圾檔案,快取檔案等因此建議至少預留50GB-80GB的空間給C碟;如果您不習慣在安裝軟體時選擇路徑,日常也不是經常清理電腦,那麼至少需要100GB 。

升級win11需要的C盤空間介紹 升級win11需要的C盤空間介紹 Dec 23, 2023 am 08:57 AM

眾所周知,如果系統安裝完成後佔用系統碟太大,可能會導致系統運行卡頓、延遲,甚至是檔案遺失。因此大家在安裝win11系統之前,需要先了解升級win11需要多大C盤空間,下面就跟著小編一起來看看吧。升級win11需要多大C碟空間:答:升級win11需要20-30GB的C碟空間。 1.根據微軟的win11設定要求可以看到,win11安裝需要64GB的硬碟空間。 2、但其實一般來說是不需要這麼大的空間的。 3.根據已經安裝win11的用戶回饋,win11升級大概需要20-30GB的C碟空間。 4.但是如果我門只有

iOS 17.2:如何在 iPhone 15 Pro 上錄製空間視頻 iOS 17.2:如何在 iPhone 15 Pro 上錄製空間視頻 Dec 15, 2023 pm 01:09 PM

如果您使用的是iPhone15或iPhone15ProMax,iOS17.2允許您錄製空間視頻,以便在Apple即將推出的VisionPro耳機上的照片應用程式中查看。這是你如何做到的。 Apple的VisionPro耳機預計將於2024年<>月左右發售。在那之前,您可以為此做好準備的一種方法是使用iPhone以一種稱為空間視頻的特殊格式錄製視頻,該格式可在Apple的耳機上觀看。在iPhone上觀看時,空間視頻顯示為普通視頻,但它們在VisionPro上提供了近乎三維

如何釋放 Xbox Series S 或 Xbox Series X 上的空間 如何釋放 Xbox Series S 或 Xbox Series X 上的空間 Apr 19, 2023 pm 01:46 PM

Xbox遊戲機有大量可供下載玩的遊戲。再加上Microsoft的Xbox遊戲通行證訂閱,樂趣無窮無盡的遊戲收藏永遠不會停止。但是,有可用於遊戲的空間問題,XboxSeriesS為356GB,XboxSeriesX為850GB。雖然這在以前的遊戲版本中很好,遊戲的最大大小可能在20到45GB之間,這不是最近的遊戲。最近可用的遊戲最終佔用了磁碟上的大量空間,從而使我們下載其他遊戲的空間更少。 ForzaHorizo​​n5和Halo5Guardians等

網路空間安全中的人工智慧技術綜述 網路空間安全中的人工智慧技術綜述 Apr 11, 2023 pm 04:10 PM

1、引言由于当下计算机网络的爆炸式增长,随之而来的问题是数目急剧增长的网络攻击。我们社会的各种部门,从政府部门到社会上的各种关键基础设施,都十分依赖计算机网络以及信息技术。显然它们也很容易遭受网络攻击。典型的网络攻击就是使目标计算机禁用、使服务脱机或者访问目标计算机的数据。自上世纪九十年代以来,网络攻击的数量和影响已经显著增加。网络安全指的是一系列用来保护网络设备活动和措施的,能够使得它们免遭所有可能威胁的技术。在传统的网络安全技术中,大都是静态的访问管理,安全控制系统会根据预设的定义进行保护。

See all articles