Ok, je comprends ce que tu veux. Je vais vous aider à écrire un article PHP, qui peut contenir du contenu non pertinent avant et après, mais le texte principal expliquera pleinement le contenu du titre et le séparera avec des lignes horizontales. L'article se terminera directement. Voici un exemple:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// C'est la partie précédente qui n'a rien à voir avec le texte</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à la miennePHPNotes d'étude!<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">"L'heure actuelle est:<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">/**
* titre:Comment passerclass_existsDéterminez si une interface a été implémentée par une certaine classe?
*
* existerPHPEn cours de développement,Parfois, nous voulons déterminer si une interface a été implémentée par une certaine classe.,Afin de faire un traitement logique correspondant。
* PHPPlusieurs fonctions intégrées sont fournies pour nous aider à y parvenir,Les principaux sontclass_exists()etinterface_exists(),ainsi queis_subclass_of()etin_array()attendez。
*
* un、comprendreclass_exists()etinterface_exists()
* - class_exists(string $className, bool $autoload = true): Détermine si la classe spécifiée a été définie。
* - interface_exists(string $interfaceName, bool $autoload = true): Détermine si l'interface spécifiée a été définie。
*
* Avis:class_existsSeuls les classes de juge,interface_existsJuger uniquement l'interface,Utiliser seulclass_existsIl est impossible de déterminer directement si un certain type implémente une certaine interface。
*
* deux、Déterminez si un certain type implémente une interface
* PHPIl existe plusieurs façons de déterminer si une classe implémente une interface:
*
* méthode1:utiliser class_implements()
* class_implements($className) Renvoie tous les tableaux de noms d'interface implémentés par cette classe。
*/</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">"Enregistrer dans le fichier: <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> Interface implémentée </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> Interface non implémentée </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">"类或接口不存exister"</span></span><span>;
}
<span class="hljs-comment">/**
* méthode2:utiliser instanceof
* 也可以passer实例化对象并utiliser instanceof Jugeons:
*/</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>passer instanceof Jugement,Cet objet est implémenté LoggerInterface"</span></span><span>;
}
<span class="hljs-comment">/**
* Résumer:
* 1. class_exists() 仅Jugement类是否存exister。
* 2. interface_exists() Jugement接口是否存exister。
* 3. Jugement某类是否实现接口时,Disponible class_implements() Retour au tableau d'interface,Utiliser à nouveau in_array() Jugement。
* 4. 对对象实例也可utiliser instanceof Jugement。
*
* donc,我们就可以安全地exister运行时Jugement某个接口是否已被某类实现,避免出现调用未实现méthode的错误。
*/</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">// 尾部et正文无关的内容</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Merci d'avoir lu cet articlePHPTutoriel!<br>"</span></span><span>;
</span><span><span class="hljs-variable">$footer_note</span></span><span> = </span><span><span class="hljs-string">"J'ai étudié aujourd'hui class_exists、interface_exists ainsi que class_implements 的utiliserméthode。"</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>