Ok, ich verstehe, was du willst. Ich werde Ihnen helfen, einen PHP -Artikel zu schreiben, der vorher und nachher irrelevante Inhalte enthalten kann, aber der Haupttext wird den Inhalt des Titels vollständig erläutern und ihn mit horizontalen Zeilen trennen. Der Artikel endet direkt. Hier ist ein Beispiel:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dies ist der vorherige Teil, der nichts mit dem Text zu tun hat</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Willkommen in meinemPHPStudiennotizen!<br>"</span></span><span>;
</span><span><span class="hljs-variable">$time</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Die aktuelle Zeit ist:<span class="hljs-subst">$time</span></span></span><span><br>";
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* Titel:Wie man passtclass_existsStellen Sie fest, ob eine Schnittstelle von einer bestimmten Klasse implementiert wurde?
*
* existierenPHPIn der Entwicklung,Manchmal möchten wir feststellen, ob eine Schnittstelle von einer bestimmten Klasse implementiert wurde.,Um die entsprechende logische Verarbeitung vorzunehmen。
* PHPEs werden mehrere integrierte Funktionen bereitgestellt, um dies zu erreichen,Die wichtigsten sindclass_exists()Undinterface_exists(),sowieis_subclass_of()Undin_array()Warten。
*
* eins、verstehenclass_exists()Undinterface_exists()
* - class_exists(string $className, bool $autoload = true): Bestimmt, ob die angegebene Klasse definiert wurde。
* - interface_exists(string $interfaceName, bool $autoload = true): Bestimmt, ob die angegebene Schnittstelle definiert wurde。
*
* Beachten:class_existsNur Klassen beurteilen,interface_existsBeurteilen Sie nur die Schnittstelle,Allein benutzenclass_existsEs ist unmöglich, direkt zu bestimmen, ob ein bestimmter Typ eine bestimmte Schnittstelle implementiert。
*
* zwei、Bestimmen Sie, ob ein bestimmter Typ eine Schnittstelle implementiert
* PHPEs gibt verschiedene Möglichkeiten, um festzustellen, ob eine Klasse eine Schnittstelle implementiert:
*
* Verfahren1:verwenden class_implements()
* class_implements($className) Gibt alle von dieser Klasse implementierten Schnittstellennamen Arrays zurück。
*/</span>
</span><span><span class="hljs-class"><span class="hljs-keyword">interface</span></span></span><span> </span><span><span class="hljs-title">LoggerInterface</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">log</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$message</span></span><span>);
}
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">FileLogger</span></span><span> </span><span><span class="hljs-keyword">implements</span></span><span> </span><span><span class="hljs-title">LoggerInterface</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">log</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$message</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Aufzeichnung zur Datei: <span class="hljs-subst">$message</span></span></span><span>";
}
}
</span><span><span class="hljs-variable">$className</span></span><span> = </span><span><span class="hljs-string">'FileLogger'</span></span><span>;
</span><span><span class="hljs-variable">$interfaceName</span></span><span> = </span><span><span class="hljs-string">'LoggerInterface'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">class_exists</span></span><span>(</span><span><span class="hljs-variable">$className</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">interface_exists</span></span><span>(</span><span><span class="hljs-variable">$interfaceName</span></span><span>)) {
</span><span><span class="hljs-variable">$interfaces</span></span><span> = </span><span><span class="hljs-title function_ invoke__">class_implements</span></span><span>(</span><span><span class="hljs-variable">$className</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$interfaceName</span></span><span>, </span><span><span class="hljs-variable">$interfaces</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$className</span></span></span><span> Implementierte Schnittstelle </span><span><span class="hljs-subst">$interfaceName</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$className</span></span></span><span> Schnittstelle nicht implementiert </span><span><span class="hljs-subst">$interfaceName</span></span><span>";
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"类或接口不存existieren"</span></span><span>;
}
<span class="hljs-comment">/**
* Verfahren2:verwenden instanceof
* 也可以passieren实例化对象并verwenden instanceof Lassen Sie uns urteilen:
*/</span>
</span><span><span class="hljs-variable">$logger</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">FileLogger</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$logger</span></span><span> </span><span><span class="hljs-keyword">instanceof</span></span><span> LoggerInterface) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<br>passieren instanceof Urteil,Dieses Objekt wird implementiert LoggerInterface"</span></span><span>;
}
<span class="hljs-comment">/**
* Zusammenfassen:
* 1. class_exists() 仅Urteil类是否存existieren。
* 2. interface_exists() Urteil接口是否存existieren。
* 3. Urteil某类是否实现接口时,Verfügbar class_implements() Kehren Sie zum Schnittstellenarray zurück,Nutze wieder benutzen in_array() Urteil。
* 4. 对对象实例也可verwenden instanceof Urteil。
*
* Also,我们就可以安全地existieren运行时Urteil某个接口是否已被某类实现,避免出现调用未实现Verfahren的错误。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 尾部Und正文无关的内容</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Danke, dass du diesen Artikel gelesen hastPHPTutorial!<br>"</span></span><span>;
</span><span><span class="hljs-variable">$footer_note</span></span><span> = </span><span><span class="hljs-string">"Ich habe heute studiert class_exists、interface_exists sowie class_implements 的verwendenVerfahren。"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$footer_note</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>