Discuzx2 開発標準プロセス
discuz x2 のソースコードを 1 か月間勉強します。その後、開発経験を積みました。経験を書き留めることは一種の振り返りでもあり、過去を振り返り、新しいことを学びます。
まず、各ルート ディレクトリ ページのおおよその読み込み処理シーケンスを理解する必要があります。ここでは、ルートディレクトリにある標準ファイルは使用しません。直接的な例として、newModule.php という名前の新しいモジュールを作成します。
プロセスは次のとおりです:
1. newModule.php は最初にコア クラス ファイルをロードします。このファイルは、dz 全体のコア オブジェクトを初期化します。サンプルモード。名前は $discuz で、このオブジェクトにはいくつかの重要な機能があります。まず、$_G のパラメータがこのオブジェクトの var 属性を参照します (つまり、$discuz->var = $_G)。次に、$this->var を使用して、オブジェクト内およびオブジェクト外で $_G を操作します。たとえば、独立した関数では、$_G はパラメータの操作に使用されます。次に、このオブジェクトはデータベース オブジェクトやその他のオブジェクトを含む他のすべてのオブジェクトを参照し、オブジェクト内でオブジェクトを操作するときに参照を使用して同期された変更を取得します。 (実際、この設計はもともと非常に複雑ですが、それは理解できます。以前の設計を考慮するために、このような純粋な OO PHP 設計はタブーです。レジストリまたは組み合わせモードを使用することをお勧めします)
2.サポート ファイル、/source /function/function_core.php ファイルには、すべてのコア関数が含まれています。コア関数とは、コア クラスをインスタンス化する必要があるときに使用されることを意味します。
3. モジュールのロードに必要な独立関数、/source/function/function_newModule.php ファイルは、モジュール自体に必要な独立関数です。これらの関数は、論理的またはビジネスの観点から、特定の関数に属すべきではありません。オブジェクトまたはクラスの内部。
4. モジュールのカスタマイズされたクラス ファイル、/source/class/class_newModule.php ファイルをロードします。このファイルは、新しいモジュールに必要なクラス、特にドメイン ドライバーまたは OO 趣味を作成できます。
5. モジュールのカスタマイズされたアクション ファイルをロードします。アクション ファイルとは何ですか? このファイルの機能は、最後の新しいモジュールに必要な最後のエントリ機能を提供することです。
6. 上記のファイルをロードすると、使用できる大きな php が生成されます。必要な機能はすべて用意されており、ajax またはフォームの送信またはテンプレートの表示を待つだけです。
注意すべき点は、実際、これは dz によって元々設計されたプロセスに従っており、システムのアップグレードによる機能に影響を与えることなく dz にシームレスにサインインできることです。落ち着け。専門家は決して満足せず、通常は dz プロセスから離脱します。しかし、破壊力についてはどうでしょうか?それは不明です。ニーズは人によって異なります。
私の提案は、OO といくつかの設計パターンを使用してコードを整理し、ビジネスを合理化することで、スケーラビリティが向上し、再利用率が高くなるということです。もちろん、好きなようにプレイすることもできます。オープンソースです。 (実際、データベースはうまく設計されているようです。私だったら、おそらく設計できないでしょう。専門家は文句を言わないでください。)
上記は、Discuzx2 の内容を含む、Discuzx2 開発の標準的なプロセスを紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
