Heim php教程 php手册 第十四节--命名空间

第十四节--命名空间

Jun 13, 2016 pm 12:37 PM
Name 空间

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

复制代码 代码如下:

   namespace core_php:utility  
   {  
       class textEngine  
       {  
           public function uppercase($text) //大写  
           {  
               return(strtoupper($text));  
           }  
       }  
       //make non-OO interface 建立一个非OO的接口  
       function uppercase($text)  
       {  
           $e = new textEngine;  
           return($e->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中那样. 
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Numerischer Abstand basierend auf maschinellem Lernen: der Abstand zwischen Punkten im Raum Numerischer Abstand basierend auf maschinellem Lernen: der Abstand zwischen Punkten im Raum Apr 11, 2023 pm 11:40 PM

Dieser Artikel ist ein Nachdruck aus dem öffentlichen WeChat-Konto „Leben im Informationszeitalter“. Der Autor lebt im Informationszeitalter. Um diesen Artikel erneut zu drucken, wenden Sie sich bitte an das öffentliche Konto Living in the Information Age. Beim maschinellen Lernen besteht ein Grundkonzept darin, den Unterschied zwischen zwei Stichproben zu beurteilen, sodass die Ähnlichkeit und Kategorieinformationen zwischen den beiden Stichproben ausgewertet werden können. Das Maß zur Beurteilung dieser Ähnlichkeit ist der Abstand zwischen zwei Stichproben im Merkmalsraum. Es gibt viele Messmethoden, die auf unterschiedlichen Dateneigenschaften basieren. Im Allgemeinen definieren Sie für zwei Datenproben x, y eine Funktion d (x, y). Wenn sie als Abstand zwischen den beiden Proben definiert ist, muss d (x, y) die folgenden Grundeigenschaften erfüllen: Nicht- Negativität: d(x, y)>=0 Identität: d(x, y)=0 ⇔ x=y Paar

So fügen Sie Swap-Speicherplatz unter Ubuntu 22.04 LTS hinzu So fügen Sie Swap-Speicherplatz unter Ubuntu 22.04 LTS hinzu Feb 20, 2024 am 11:12 AM

Swap Space spielt in Linux-Systemen eine wichtige Rolle, insbesondere wenn das System nur wenig Arbeitsspeicher hat. Es fungiert als Backup-Speicherplatz, der dazu beiträgt, dass das System auch unter hoher Last reibungslos läuft und die Stabilität aufrechterhält. Dieser Artikel bietet Ihnen eine detaillierte Anleitung zum Hinzufügen von Swap-Speicherplatz unter Ubuntu 22.04LTS, um sicherzustellen, dass die Leistung Ihres Systems optimiert ist und verschiedene Arbeitslasten bewältigen kann. Swap Space verstehen Swap Space stellt virtuellen Speicher bereit, der als Ergänzung zum physischen RAM des Systems verwendet wird. Wenn das System nur noch wenig RAM hat, lagert der Kernel Daten auf die Festplatte aus, um Speichermangel und Systemabstürze zu verhindern. Linux-Systeme verwenden üblicherweise Swap Space, um diese Situation zu bewältigen. Führen Sie mehrere speicherintensive Anwendungen gleichzeitig aus, um sehr große Dateien oder Daten zu verarbeiten

Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Apr 24, 2024 pm 04:21 PM

Bei der Benennung von C++-Funktionen ist es wichtig, die Reihenfolge der Parameter zu berücksichtigen, um die Lesbarkeit zu verbessern, Fehler zu reduzieren und das Refactoring zu erleichtern. Zu den gängigen Konventionen für die Parameterreihenfolge gehören: Aktion-Objekt, Objekt-Aktion, semantische Bedeutung und Einhaltung der Standardbibliothek. Die optimale Reihenfolge hängt vom Zweck der Funktion, den Parametertypen, möglichen Verwirrungen und Sprachkonventionen ab.

Wie groß ist der verbleibende Speicherplatz auf dem Laufwerk C?? Wie groß ist der verbleibende Speicherplatz auf dem Laufwerk C?? Jun 27, 2023 pm 02:51 PM

50–80 GB verbleibender Speicherplatz auf Laufwerk C sind besser geeignet. Da das System in Zukunft Junk-Dateien, Cache-Dateien usw. generieren wird, wird empfohlen, mindestens 50 GB bis 80 GB Speicherplatz für das Laufwerk C zu reservieren, wenn Sie es nicht gewohnt sind, bei der Installation von Software einen Pfad auszuwählen und nicht zu bereinigen Wenn Sie Ihren Computer häufig verwenden, sind mindestens 100 GB erforderlich.

Einführung in den für das Upgrade von Win11 erforderlichen Speicherplatz auf dem Laufwerk C Einführung in den für das Upgrade von Win11 erforderlichen Speicherplatz auf dem Laufwerk C Dec 23, 2023 am 08:57 AM

Wie wir alle wissen, kann es zu Systemverzögerungen, Verzögerungen und sogar Dateiverlusten kommen, wenn die belegte Systemfestplatte nach Abschluss der Systeminstallation zu groß ist. Bevor Sie das Win11-System installieren, müssen Sie daher wissen, wie viel Speicherplatz auf dem Laufwerk C für das Upgrade von Win11 erforderlich ist. Schauen wir uns das mit dem Editor an. Wie viel Speicherplatz auf dem Laufwerk C ist für das Upgrade von Win11 erforderlich: Antwort: Das Upgrade von Win11 erfordert 20–30 GB Speicherplatz auf dem Laufwerk C. 1. Gemäß den Win11-Konfigurationsanforderungen von Microsoft können Sie sehen, dass für die Win11-Installation 64 GB Festplattenspeicher erforderlich sind. 2. Tatsächlich besteht jedoch im Allgemeinen kein Bedarf für einen so großen Raum. 3. Laut Feedback von Benutzern, die Win11 bereits installiert haben, erfordert das Win11-Upgrade etwa 20–30 GB Speicherplatz auf Laufwerk C. 4. Aber wenn unsere Tür nur hat

So geben Sie Speicherplatz auf der Xbox Series S oder Xbox Series X frei So geben Sie Speicherplatz auf der Xbox Series S oder Xbox Series X frei Apr 19, 2023 pm 01:46 PM

Auf der Xbox-Konsole steht eine riesige Auswahl an Spielen zum Herunterladen und Spielen zur Verfügung. In Verbindung mit dem Xbox Game Pass-Abonnement von Microsoft hört der Spaß mit Ihrer Spielesammlung nie auf. Es besteht jedoch das Problem des für Spiele verfügbaren Speicherplatzes, der auf der Xbox Series S 356 GB und auf der Xbox Series X 850 GB beträgt. Während dies in früheren Versionen des Spiels in Ordnung war, lag die maximale Größe des Spiels wahrscheinlich zwischen 20 und 45 GB, was bei neueren Spielen nicht der Fall ist. Kürzlich verfügbare Spiele beanspruchen am Ende viel Speicherplatz auf der Festplatte, sodass wir weniger Platz zum Herunterladen anderer Spiele haben. ForzaHorizon5 und Halo5Guardians und mehr

iOS 17.2: So nehmen Sie räumliche Videos auf dem iPhone 15 Pro auf iOS 17.2: So nehmen Sie räumliche Videos auf dem iPhone 15 Pro auf Dec 15, 2023 pm 01:09 PM

Wenn Sie ein iPhone 15 oder iPhone 15 Pro Max besitzen, können Sie mit iOS 17.2 räumliche Videos aufnehmen, um sie in der Fotos-App auf den kommenden Vision Pro-Kopfhörern von Apple anzusehen. So machen Sie es. Die VisionPro-Kopfhörer von Apple werden voraussichtlich etwa im Februar 2024 auf den Markt kommen. Bis dahin können Sie sich darauf vorbereiten, indem Sie mit Ihrem iPhone Videos in einem speziellen Format namens Spatial Video aufzeichnen, das auf den Kopfhörern von Apple angesehen werden kann. Räumliche Videos erscheinen auf einem iPhone wie normale Videos, auf VisionPro bieten sie jedoch nahezu Dreidimensionalität

Ein Überblick über die Technologie der künstlichen Intelligenz in der Cyberspace-Sicherheit Ein Überblick über die Technologie der künstlichen Intelligenz in der Cyberspace-Sicherheit Apr 11, 2023 pm 04:10 PM

1. Einleitung Aufgrund des explosionsartigen Wachstums aktueller Computernetzwerke ist das daraus resultierende Problem die schnell zunehmende Anzahl von Netzwerkangriffen. Verschiedene Bereiche unserer Gesellschaft, von Regierungsbehörden bis hin zu verschiedenen kritischen Infrastrukturen in der Gesellschaft, sind stark von Computernetzwerken und Informationstechnologie abhängig. Offenbar sind sie auch anfällig für Cyberangriffe. Typische Netzwerkangriffe deaktivieren den Zielcomputer, schalten Dienste offline oder greifen auf die Daten des Zielcomputers zu. Die Zahl und die Auswirkungen von Cyberangriffen haben seit den 1990er Jahren deutlich zugenommen. Unter Netzwerksicherheit versteht man eine Reihe von Technologien zum Schutz von Netzwerkgeräteaktivitäten und Maßnahmen, um sie vor allen möglichen Bedrohungen zu schützen. In der herkömmlichen Netzwerksicherheitstechnologie handelt es sich bei den meisten um statische Zugriffsverwaltung, und das Sicherheitskontrollsystem schützt basierend auf voreingestellten Definitionen.

See all articles