ホームページ >バックエンド開発 >PHPチュートリアル >PHPcms モジュール開発の予備的な概要_PHP チュートリアル
仕事の関係で、mongodb の研究を一時的に諦めて、PHPcms の研究を始めることしかできません。
これまでのところ、モジュールの開発はほぼ完了しています。週末にまとめを作成するために来ます。しかし、実際にはドキュメントがあまりありません。
これ以上ナンセンスはありません。phpcms モジュールを開発するには、まずモジュールのディレクトリ構造を理解する必要があります。http://v9.help.phpcms.cn/html/2010/structural_0928/69.html からダウンロードできます
開発したいもの (つまり、モジュール) が /phpcms/modules/
の下にあることを確認します。
特別なことがない場合、モジュールを開発する前に、まずディレクトリ構造に従って関連するディレクトリを確立し、データベーステーブル構造を設計する必要があります。たとえば、my module my_test というモジュールを作成します。mytest の下のディレクトリ構造は次のとおりです
私のテスト
--class //これはmytestモジュールで使用されるクラスです
--function//mytestモジュールで使用される関数
--install//このモジュールをインストールし、データテーブルのmyslqステートメントを作成するために必要ないくつかの設定ファイルはここにあります
-- language// 複数の言語を扱う場合に使用されます
--config.ini.php//この設定ファイルは、モジュール全体のいくつかの情報を記述するために使用されます
--extention.inc.php//これはディレクトリ構造を作成するためのものであり、このファイルはパーミッションを制御するためにも使用されます
。--model.php//モジュールがどのデータモデルを使用しているか(どのテーブルが使用されているかが分かります。)
--model.sql//モデルレコードをデータベースに挿入します
--my_test.sql//このファイルはインストール中に実行され、SQLに入れられてデータベーステーブルが作成されます
--templates //、mytest モジュールで使用されるテンプレート ファイル
--uninstall //モジュールのアンインストール時に使用する設定とファイル
このファイルについては勉強しませんでした。後で勉強して補います。
my_test.php //これは mytest モジュールのバックグラウンド コントローラー ファイルです`index.php//これはフロントエンドコントローラーです。これには何も書いていません。
このような構造を確立した後も、/phpcms/model/
にデータ モデルを確立する必要があります。
例: my_test_model.class.php (これは非常に典型的なファクトリ パターンを使用します)それぞれのファイルに何が書かれているかを一つずつ見ていきましょう。
まず、モデルフォルダーの下に書いたファイルを見てみましょう。 コードは以下のように表示されます。
定義済み('IN_PHPCMS') または exit('権限リソースがありません。'); pc_base::load_sys_class('モデル', '', 0);
最後の行は、親クラスのコンストラクターを呼び出します。これは phpcms/libs/classes/model.class.php にあります。
そして、このモデルクラスは、最も基本的な追加、削除、変更、検索などの多くのデータ操作メソッドを定義します。モデルの基本的な方法については後ほど詳しく説明します。
モジュールの中身を見てみましょう
以下で多言語メニューをサポートするために使用される言語を 1 つずつ見てみましょう。
次に、モジュールのインストールに関する情報が含まれる config.ini.php があります。
ファイルはこのような構造になっています
コードは以下のように表示されます:$module = 'mytest';//使用モデル
$modulename = 'これがモジュールの名前です';$introduce = 'モジュール説明情報';
$author = '著者';
次に、extension.inc.php があります。このファイルは、バックグラウンド管理メニューのディレクトリ構造を作成するために使用され、権限を制御するためにも使用されます
$id= $menu_db->insert(array('name'=>'ここにオペレーション名を書きます', 'parentid'=>親ID, 'm'=>'モジュール', 'c'= > ;'コントローラ', 'a'=>'アクション', 'data'=>'', 'listorder'=>並べ替え, 'display'=>'表示するかどうか'),true);/ / 最後の true は ID を返すために使用されます
ファイルの最後に配列があるはずです。この配列はシステムの言語zh-cnsystem_menu.lang.phpに挿入するために使用されます。形式は次のとおりです
。コードをコピー
次に、システムのモデルテーブルにデータを挿入するために使用されるmodel.sqlがあります
次に、mytest.sql にデータベーステーブルを作成するステートメントをこのファイルに記述する必要があります
次に、使用するテンプレートをテンプレートに配置する必要があります。命名規則は mytest_add.tpl.php にする必要があります。
最後はコントローラーです。これは調査済みです。コントローラーには、a=? のアクションであるアクションが含まれています。 コードは以下のように表示されます:
定義済み('IN_PHPCMS') または exit('権限リソースがありません。');
pc_base::load_app_class('admin','admin',0);
class mytest extends admin(){
パブリック関数 __construct(){
parent::__construct;//親クラスのコンストラクターを呼び出します
}
パブリック関数 init(){
echo "デフォルトの操作方法は次のとおりです";
}
パブリック関数 add(){
include $this->admin_tpl('mytest_add');//テンプレートの使用方法
}
}
上記のファイルの作成が完了したら、モジュールをインストールできます。
http://www.bkjia.com/PHPjc/372002.html