Discuzx2開發(fā)標(biāo)準(zhǔn)流程,discuzx2開發(fā)流程_PHP教程
Jul 12, 2016 am 08:55 AMDiscuzx2開發(fā)標(biāo)準(zhǔn)流程,discuzx2開發(fā)流程
研究了有一個月的discuz?x2的源代碼。然后有了一些開發(fā)的心得。寫心得也算是一種回顧,溫故而知新嘛。
?
首先,要理解每一個根目錄頁面的大概的加載流程順序。這里,我就不用根目錄的標(biāo)準(zhǔn)文件了。直接舉例,寫一個新的模塊,它的名字叫做newModule.php。
?
流程是這樣的:
1.?newModule.php首先加載核心的類文件,/source/class/clsss_core.php這個是核心的類文件,這個文件是初始化了整個dz的核心對象,用了單例模式。名字叫做$discuz,這個對象里面有幾個比較重要的特點(diǎn)。首先,是$_G的參數(shù),被引用到了這個對象的var屬性中,也就是$discuz->var?=?$_G,然后在對象內(nèi)用$this->var來操作$_G,在對象外面,比如獨(dú)立函數(shù)中,使用$_G來操作參數(shù);其次是這個對象里面引用了所有的其他對象,包括數(shù)據(jù)庫對象和其他對象,都是用引用來獲得在對象內(nèi)操作的它們時的同步改變。(其實(shí)這個設(shè)計原本就比較混亂,不過可以理解,為了照顧以前的設(shè)計,純OO的php設(shè)計是忌諱這樣的,應(yīng)該使用注冊表或者組合模式來得更好)
2.?加載支持文件,/source/function/function_core.php文件是所有核心函數(shù),何謂核心函數(shù),核心函數(shù)的意思就是在核心類需要實(shí)例化的時候,它們就會被使用到。
3.?加載模塊所需要的獨(dú)立函數(shù),?/source/function/function_newModule.php文件,是該模塊自己所需要的獨(dú)立的函數(shù),這些函數(shù)應(yīng)該是從邏輯或者是業(yè)務(wù)上來說是不能被歸結(jié)到某個對象或者類里面。
4.?加載模塊自定義的類文件,/source/class/class_newModule.php文件,這個文件是新模塊所需要用到類,這個文件可以創(chuàng)建自己的擴(kuò)展類,特別是領(lǐng)域驅(qū)動,或者OO愛好者。
5.?加載模塊自定義的動作文件,什么叫動作文件,就是url傳值中的mod,這文件的作用是,如果提供最后這個新模塊所需要的最終入口函數(shù)。
6.?加載完以上文件,那么,就可以產(chǎn)生了一個可以供用來使用的大塊php的。所有的必須要的函數(shù)都已經(jīng)準(zhǔn)備,就等著ajax或者form的提交或者template的顯示。
?
需要注意一點(diǎn)是:其實(shí)這里是一個比較標(biāo)準(zhǔn)的,遵從dz原本設(shè)計的流程,可以無縫的內(nèi)簽到dz中,而不會因?yàn)橄到y(tǒng)升級從來影響功能。淡然了。高手們從來都不滿足的,他們一般都會脫離dz的流程。不過,破壞性怎么樣?就不得而知了。需要因人而異。
?
我的建議是使用OO和少許的設(shè)計模式,來組織代碼,理順業(yè)務(wù),這樣擴(kuò)展性較好,復(fù)用率高。當(dāng)然,喜歡怎么玩,就怎么玩。開源的嘛。(其實(shí)數(shù)據(jù)庫感覺設(shè)計的可以,如果是我,想必設(shè)計不出來,高手勿噴。)

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pagoda Panel est un très excellent panneau de gestion de serveur sous le système Linux. Il possède des fonctions puissantes et une interface conviviale, qui peuvent aider les utilisateurs à gérer facilement les serveurs. Lors de l'utilisation du Pagoda Panel, il est parfois nécessaire de limiter la vitesse de l'h?te virtuel pour assurer la stabilité et la fluidité du serveur. Cet article expliquera comment définir la limite de vitesse de l'h?te virtuel via le panneau Pagoda pour obtenir une bonne expérience utilisateur. 1. Présentation de la limite de vitesse La limite de vitesse fait référence à la limitation de la bande passante de l'h?te et à la garantie du fonctionnement normal du serveur en contr?lant le trafic de l'h?te. exister

Le framework Gin est un framework Web léger qui fournit les fonctionnalités de base nécessaires pour créer rapidement des applications Web. Le framework Gin est flexible, efficace et évolutif, il est donc largement utilisé dans le domaine Internet. Parmi elles, les fonctions d'h?te virtuel et de liaison de nom de domaine du framework Gin sont des fonctionnalités importantes que les autres frameworks Web ne possèdent pas. Cet article présentera cette fonction en détail. 1. Qu'est-ce qu'un h?te virtuel ? Un h?te virtuel crée plusieurs h?tes virtuels indépendants et mutuellement isolés sur un h?te physique. Chaque h?te virtuel possède son propre caractère unique.

Les h?tes virtuels PHP gratuits étrangers incluent DreamHost, Bluehost, Hostinger, 000Webhost, FreeHostia, Zymic, ByetHost et SiteGround.

Comment PHP se connecte à Tencent Cloud Server ECS pour implémenter le déploiement d'h?tes virtuels cloud Introduction : Avec le développement rapide du cloud computing, de plus en plus d'entreprises et de développeurs choisissent de déployer des applications sur des serveurs cloud pour obtenir une meilleure élasticité, sécurité et évolutivité. Cet article explique comment utiliser PHP pour se connecter à Tencent Cloud Server ECS (Elastic Compute Service) afin de mettre en ?uvre le déploiement d'h?tes virtuels cloud. étape 1?: Créer une instance ECS de Tencent Cloud Server. Tout d'abord, nous devons.

La fa?on dont Nginx implémente la configuration d'h?te virtuel basée sur le nom de domaine nécessite des exemples de code spécifiques. Nginx est un serveur HTTP et proxy inverse hautes performances qui fournit des options de configuration flexibles pour implémenter la configuration d'h?te virtuel basée sur le nom de domaine. Dans cet article, nous présenterons en détail comment configurer Nginx pour implémenter un hébergement virtuel basé sur un nom de domaine et fournirons des exemples de code spécifiques. Tout d'abord, nous devons ajouter le bloc de configuration de l'h?te virtuel au fichier de configuration Nginx. Sur les systèmes Ubuntu, le chemin du fichier de configuration par défaut est /et

à l’ère d’Internet, l’hébergement Web est un service très populaire qui permet aux utilisateurs de posséder leur propre site Web et de le gérer facilement. Cependant, lors de l’utilisation d’h?tes virtuels, les questions de sécurité doivent également attirer notre attention. En réponse à cette situation, Pagoda Panel propose une bonne solution qui peut nous aider à mieux protéger la sécurité de l'h?te virtuel. Cet article explique comment utiliser le panneau Pagoda pour protéger la sécurité des h?tes virtuels. 1. Définissez le mot de passe de connexion et le port Avant d'utiliser le panneau Pagoda, la première étape consiste à définir un mot de passe de connexion sécurisé. défaut

ApachevirtualHosting permet d'héberger plusieurs sites Web sur un seul serveur. 1) Lors de la configuration d'un h?te virtuel, vous devez ajouter des blocs dans le fichier de configuration et spécifier ServerName et DocumentRoot. 2) La configuration avancée peut inclure la configuration des certificats SSL pour différents sites Web. 3) Les suggestions d'optimisation des performances incluent l'utilisation d'h?tes virtuels basés sur le nom, l'activation de Keepalive et la mise en cache.

Configuration de l'optimisation de l'h?te virtuel Nginx pour améliorer les performances du site Web et l'expérience utilisateur Introduction : De nos jours, avec le développement continu d'Internet, le nombre de visites sur le site Web augmente également. En tant qu'entrée du site Web, la configuration optimisée de Nginx joue un r?le crucial dans l'amélioration des performances du site Web et de l'expérience utilisateur. Cet article présentera quelques méthodes pour optimiser la configuration des h?tes virtuels Nginx, ainsi que des exemples de code afin que vous puissiez mieux les comprendre et les appliquer. 1. Configuration de l'h?te virtuel L'h?te virtuel est un concept important dans Nginx Grace à la configuration de l'h?te virtuel, nous pouvons.
