Code-Analyse und Lernen der Discuz (4) Forum-Eintrittsdatei
Dies ist nur eine grobe Analyse des Ausführungsprozesses. Die Hauptsache besteht darin, den Wert des Mod-Parameters zu ermitteln und den Controller entsprechend dem Wert zu laden. Die Controller-Position wird in der letzten Zeile angegeben.
1) Definieren Sie den Anwendungsnamen und laden Sie zwei erforderliche Dateien
<span>define</span>('APPTYPEID', 2<span>); </span><span>define</span>('CURSCRIPT', 'forum'<span>); </span><span>require</span> './source/class/class_core.php';<span>//</span><span>核心类</span> <span>require</span> './source/function/function_forum.php';<span>//</span><span>论坛函数库</span>
2) Das Modarray-Array begrenzt den Mod-Wertebereich
<span>$modarray</span> = <span>array</span>('ajax','announcement','attachment','forumdisplay', 'group','image','index','medal','misc','modcp','notice','post','redirect', 'relatekw','relatethread','rss','topicadmin','trade','viewthread','tag','collection','guide'<span> ); </span><span>//</span><span>模块缓存列表,各个子数组分别表示各个模块要缓存的缓存项</span> <span>$modcachelist</span> = <span>array</span><span>( </span>'index' => <span>array</span>('announcements', 'onlinelist', 'forumlinks', 'heats', 'historyposts', 'onlinerecord', 'userstats', 'diytemplatenameforum'), 'forumdisplay' => <span>array</span>('smilies', 'announcements_forum', 'globalstick', 'forums', 'onlinelist', 'forumstick', 'threadtable_info', 'threadtableids', 'stamps', 'diytemplatenameforum'), 'viewthread' => <span>array</span>('smilies', 'smileytypes', 'forums', 'usergroups', 'stamps', 'bbcodes', 'smilies', 'custominfo', 'groupicon', 'stamps', 'threadtableids', 'threadtable_info', 'posttable_info', 'diytemplatenameforum'), 'redirect' => <span>array</span>('threadtableids', 'threadtable_info', 'posttable_info'), 'post' => <span>array</span>('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist', 'albumcategory'), 'space' => <span>array</span>('fields_required', 'fields_optional', 'custominfo'), 'group' => <span>array</span>('grouptype', 'diytemplatenamegroup'),<span> );</span>
3) Wenn der Mod-Parameter leer oder unzulässig ist, ist der Ausdruck wahr, was zu einem Indexwert führt
<span>$mod</span> = !<span>in_array</span>(C::app()-><span>var</span>['mod'], <span>$modarray</span>) ? 'index' : C::app()-><span>var</span>['mod'];
4) Initialisierung
<span>define</span>('CURMODULE', <span>$mod</span><span>); </span><span>//</span><span>var_dump(CURMODULE);</span> <span>$cachelist</span> = <span>array</span><span>(); </span><span>if</span>(<span>isset</span>(<span>$modcachelist</span>[CURMODULE])) {<span>//</span><span>如果当前缓存项存在的话,</span> <span>$cachelist</span> = <span>$modcachelist</span>[CURMODULE];<span>//</span><span>获取当前缓存组的缓存列表项</span> <span>$cachelist</span>[] = 'plugin'<span>; </span><span>$cachelist</span>[] = 'pluginlanguage_system'<span>; } </span><span>if</span>(C::app()-><span>var</span>['mod'] == 'group'<span>) { </span><span>$_G</span>['basescript'] = 'group'<span>; } C</span>::app()->cachelist = <span>$cachelist</span><span>; C</span>::app()->init();<span>//</span><span>初始化</span> <span> loadforum(); set_rssauth(); runhooks();</span>
5) Laderegler
<span>$navtitle</span> = <span>str_replace</span>('{bbname}', <span>$_G</span>['setting']['bbname'], <span>$_G</span>['setting']['seotitle']['forum'<span>]); </span><span>$_G</span>['setting']['threadhidethreshold'] = 1<span>; </span><span>//</span><span>var_dump($mod);</span> <span>require</span> DISCUZ_ROOT.'./source/module/forum/forum_'.<span>$mod</span>.'.php';
Das Obige stellt die Forum-Eingangsdatei für die Code-Analyse und das Erlernen von Discuz (4) vor, einschließlich des Inhalts. Ich hoffe, dass sie für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

OpenIV ist ein beliebtes Spielmodifikationstool, das hauptsächlich in der Grand Theft Auto (GTA)-Spielereihe verwendet wird. Obwohl die Verwendung von Mods neue Funktionen hinzufügen und das Spielerlebnis verbessern kann, kann es aus verschiedenen Gründen manchmal erforderlich sein, installierte Mods zu löschen. In diesem Artikel wird erklärt, wie Sie Mods mit OpenIV entfernen. Stellen Sie zunächst sicher, dass Sie die OpenIV-Tools installiert haben. Für Benutzer, die es nicht installiert haben, können Sie es von der offiziellen Website von OpenIV herunterladen (https://www.ope

Eines der herausragenden Features von Cyberpunk 2077 ist die Pfadverfolgung, die jedoch die Leistung stark beeinträchtigen kann. Selbst Systeme mit halbwegs leistungsfähigen Grafikkarten wie die RTX 4080 (Gigabyte AERO OC aktuell 949,99 $ bei Amazon) haben Schwierigkeiten, eine stabile Leistung zu bieten

Anfang dieses Monats stellte ein YouTuber namens HowToMen den Rabbit R1 mit Android vor. Mit diesem Mod kann das Gerät, das ursprünglich weniger ablenkend sein sollte als ein Telefon, wie eines funktionieren. Das ist jedoch keine schlechte Sache, da Rabbit es nicht getan hat

Der Asus ROG Ally verfügt über einen 40-Wh-Akku, was typischerweise zu einer Laufzeit von etwa zwei Stunden führt. Beim Ally iFixit hat sich eins ausgedacht

Beim Spielen von Spielen wie Grand Theft Auto V nutzen viele Spieler gerne Mods, um den Spaß und die Spielbarkeit des Spiels zu erhöhen. Als bekanntes Mod-Verwaltungstool kann OpenIV den Mod-Installations- und -Verwaltungsprozess vereinfachen. Schauen wir uns also an, wie man Mod zu OpenIV hinzufügt. Zunächst müssen Sie sicherstellen, dass Sie OpenIV heruntergeladen und installiert haben. Es ist auf der offiziellen Website von OpenIV (https://openiv.com/) zu finden.

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

Das größte dunkle Pferd zu Beginn des Jahres 2024, „Phantom Parlu“, ist kürzlich auf Steam Early Access gelandet und hat nicht nur kontinuierlich neue Rekorde aufgestellt, sondern auch über 5 Millionen Exemplare verkauft. Die Höchstzahl der Menschen, die für dieses Spiel online waren, erreichte mit 1,58 Millionen (1.582.482 Menschen) einen neuen Höchststand! Dieser Erfolg macht „Eidolon Parlu“ auch zu den Top 3 Spielen mit der höchsten Anzahl an Online-Nutzern in der Geschichte von Steam! An zweiter Stelle nach „PlayerUnknown’s Battlegrounds“ (3,25 Millionen) und „CS2“ (1,81 Millionen)! Darüber hinaus verfügt „Eidolon Pallu“ auch über die erste von Spielern erstellte „Pokémon“-Mod, die Spieler in Ash Ketchum und alle Pallu in Pokémon verwandeln kann. Ein Meisterwerk zum Start ins neue Jahr! Die Verkäufe überstiegen 5 Millionen Exemplare in 3 Tagen. Lassen Sie sich das nicht entgehen! Klicken Sie auf https://www.17

Verwenden Sie die MOD-Funktion von MySQL, um den Rest der modularen Operation zu ermitteln. In der MySQL-Datenbank kann die MOD-Funktion verwendet werden, um die modulare Operation auszuführen, d. h. um den Rest von zwei Zahlen zu ermitteln. In diesem Artikel wird die Verwendung der MOD-Funktion zur Durchführung modularer Operationen vorgestellt und entsprechende Codebeispiele gegeben. Die Syntax der MOD-Funktion lautet wie folgt: MOD(N,M) wobei N und M die beiden Zahlen sind, die die Modulo-Operation ausführen sollen, N der Dividend und M der Divisor ist. Die MOD-Funktion gibt den Rest von N dividiert durch M zurück. Unten sehen Sie ein einfaches Beispiel, das zeigt, wie Sie mit der MOD-Funktion den Rest zweier Zahlen ermitteln
