Heim Backend-Entwicklung PHP-Tutorial Code-Analyse und Lernen der Discuz (4) Forum-Eintrittsdatei

Code-Analyse und Lernen der Discuz (4) Forum-Eintrittsdatei

Aug 08, 2016 am 09:28 AM
array mod

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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'];
Nach dem Login kopieren

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>
Nach dem Login kopieren

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';
Nach dem Login kopieren

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.

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

Video Face Swap

Video Face Swap

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

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)

So deinstallieren/löschen Sie MOD in OpenIV So deinstallieren/löschen Sie MOD in OpenIV Feb 18, 2024 pm 04:25 PM

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

Cyberpunk 2077 verzeichnet mit dem neuen optimierten Pfadverfolgungs-Mod eine Leistungssteigerung von bis zu 40 % Cyberpunk 2077 verzeichnet mit dem neuen optimierten Pfadverfolgungs-Mod eine Leistungssteigerung von bis zu 40 % Aug 10, 2024 pm 09:45 PM

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

Rabbit R1 wird für die Ausführung von Spielen modifiziert und bietet eine bessere Leistung als erwartet Rabbit R1 wird für die Ausführung von Spielen modifiziert und bietet eine bessere Leistung als erwartet Jun 29, 2024 am 07:50 AM

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 DIY-Mod Asus ROG Ally verdoppelt nahezu die Akkukapazität, ohne dass etwas freiliegt Der DIY-Mod Asus ROG Ally verdoppelt nahezu die Akkukapazität, ohne dass etwas freiliegt Aug 20, 2024 am 06:57 AM

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

So fügen Sie Mod zu openiv hinzu So fügen Sie Mod zu openiv hinzu Feb 22, 2024 pm 09:54 PM

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.

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

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

„Phantom Beast Parlu' erreichte gleichzeitig die Marke von 1,58 Millionen online! „Pokémon' MOD ist da! „Phantom Beast Parlu' erreichte gleichzeitig die Marke von 1,58 Millionen online! „Pokémon' MOD ist da! Jan 23, 2024 pm 06:06 PM

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 finden Verwenden Sie die MOD-Funktion von MySQL, um den Rest der modularen Operation zu finden Jul 27, 2023 pm 04:48 PM

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

See all articles