ホームページ バックエンド開発 PHPチュートリアル PHP ノート: PHPcms モジュール開発の予備的紹介_PHP チュートリアル

PHP ノート: PHPcms モジュール開発の予備的紹介_PHP チュートリアル

Jul 21, 2016 pm 03:12 PM
mongodb php phpcms 導入 関係 予備探査 仕事 開発する あきらめる モジュール 研究 ノート

仕事の都合上、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//この設定ファイルは、モジュール全体のいくつかの情報を記述するために使用されます

--extension.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 (これは非常に典型的なファクトリーパターンを使用します)

それぞれのファイルに書かれている内容を一つずつ見ていきましょう。まず、モデルフォルダーの下に書いたファイルを見てみましょう。


コードをコピーします

コードは次のとおりです。 ;?php defined('IN_PHPCMS') または exit('許可リソースがありません。');pc_base::load_sys_class('model', '', 0);class my_test_model extends model {
Public function __construct() { $ this-> db_config = pc_base :: load_config( 'database'); phpcms 実行フレームワーク内で実行されています。

2 行目はシステムのモデル クラスをロードし、次のパラメーター 0 はインスタンス化されないことを意味します。

最後の行は、親クラスのコンストラクターを呼び出します。これは phpcms/libs/classes/model.class.php にあります。
そして、このモデルクラスは、最も基本的な追加、削除、変更、検索などの多くのデータ操作メソッドを定義します。モデルの基本的な方法については後ほど詳しく説明します。

モジュール内の内容を見てみましょう

最初の言語は多言語メニューをサポートするために使用されるものを 1 つずつ見てみましょう。

次に、モジュールのインストールに関する情報が含まれる config.ini.php があります。

ファイルにはこの構造が含まれています

コードをコピーします

コードは次のとおりです:

$module = 'mytest';//使用されるモデル

$modulename = 'ここにモジュールの名前があります';

$introduce = 'モジュールの説明情報';

$author = '作者';

$authorsite = '作者ウェブサイト';

$authoremail = '作者メールアドレス';

明記されています

次に、extension.inc.php が来ます。このファイルは、バックグラウンド管理メニューのディレクトリ構造を作成し、権限を制御するために使用されます コードは次のとおりです。

$id= $menu_db->insert(array('name'=>'ここにオペレーション名を書きます', 'parentid'=>親ID, 'm'=>'モジュール', 'c ' =>'コントローラ', 'a'=>'アクション', 'data'=>'', 'listorder'=>並べ替え, 'display'=>'表示するかどうか'),true) ; //最後の true は ID を返すために使用されます

この配列はシステムの言語に挿入するために使用されます
コードをコピーします コードは次のとおりです:

$ language = array(
'指定した操作名は次のとおりです'=>'操作の中国語訳は次のとおりです',
類似: 'mytest_init' =>'表示リスト'
);

次に、model.php どのテーブルが使用されているかがわかります。コードをコピーします。
配列。 ('mytest','my_test_artcle');それは、model.sqlです。これは、システムのモデルテーブルにデータを挿入するために使用されます


コードをコピーします

コードは次のとおりです:
INSERT INTO `phpcms_module` (`module`, `name`, `url`, `iscore`, `version`, `description`, `setting`, `listorder`, `disabled`, `installdate`, `updatedate`) VALUES ();次に、データベーステーブルを作成するための mytest.sql ステートメントをこのファイルに記述する必要があります
次に、使用するテンプレートをテンプレートに配置する必要があります。命名規則は mytest_add.tpl.php である必要があります。
最後はコントローラーです。これはよく研究されています。コントローラーでは、各 URL に渡されるアクションです。これは、init です。

コードをコピーします。コードは次のとおりです:

define('IN_PHPCMS') または exit('許可リソースがありません。');

pc_base::load_app_class('admin','admin',0);class mytest extends admin(){ public function __construct(){ parent::__construct;//親クラスのコンストラクタを呼び出す }
public function init(){
echo "これがデフォルトの操作メソッドです";
}
public function add(){
include $this->admin_tpl('mytest_add');//テンプレートの使用方法
}
}


上記のファイルの作成が完了したら、コントローラーをインストールできます。モジュール。





http://www.bkjia.com/PHPjc/326762.html

www.bkjia.com

本当http://www.bkjia.com/PHPjc/326762.html

技術記事仕事の関係で、mongodb の研究を一時的に放棄し、PHPcms の研究を開始することができます。今のところ、週末を利用してここに来て、まとめを作成しています。 ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles