天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php筆記之:初探PHPcms模塊開發介紹

由于工作關系,只能暫時放棄對mongodb的研究了 .開始研究phpcms .

目前為止我已經基本完成了模塊的開發.趁著周末來這里做個總結.我發現phpcms寫的還不錯,不過文檔什么的確實不多.

不說廢話了.對于phpcms的模塊開發.首先要了解模塊的目錄結構.

我們可以在http://v9.help.phpcms.cn/html/2010/structure_0928/69.html

找到他的目錄結構   我們要開發的東東(也就是模塊)就在/phpcms/modules/下面

如果沒有什么特別的 在開發一個模塊之前先要按照目錄結構建立好相關目錄并且設計好數據庫表結構 比方說 我們建立一個模塊叫做我的模塊 my_test

下面應該是mytest下的目錄結構


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  (這個使用了很典型的工廠模式)

具體每個文件里面寫了些什么.我們一個一個來看 .首先來看我們在model文件夾下面寫的那個文件.
復制代碼 代碼如下:
<?php
defined('IN_phpCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class my_test_model extends model {
    public function __construct() {
        $this->db_config = pc_base::load_config('database');
        $this->db_setting = 'default';//默認的數據庫配置.//多個庫的話可以在這里選庫
        $this->table_name = 'my_test';//這個就是表名稱,不用加表前綴
        parent::__construct();
    }
}
?>    

第一行的作用是確定是不是在phpcms的運行框架內.

第二行加載系統的model類,后面的參數0 的意思是并不實例化.

最后一行調用了父類的構造方法.可以在phpcms/libs/classes/model.class.php中找到

而這個model類里面定義了很多對數據的操作方法   最基本的增刪改查。以后我再詳細說說model基本的一些方法。

接著來看看modules   里面的東東

我們一個個往下面看  第一個language   是用來支持多語言菜單的。

然后是config.ini.php,這個里面寫的是一些關于模塊安裝時候的信息。

文件里面是這個結構的
復制代碼 代碼如下:
$module = 'mytest';//使用的model
$modulename = '這里是模塊的名稱';
$introduce = '模塊的描述信息';
$author = '作者';
$authorsite = '作者網站';
$authoremail = '作者email';

里面標注的很清楚了

接著是extention.inc.php 這個文件是用來創建后臺管理菜單的目錄結構的,也是用來控制權限的 
復制代碼 代碼如下:
$id= $menu_db->insert(array('name'=>'這里寫著操作名稱',      'parentid'=>父ID, 'm'=>'模塊', 'c'=>'控制器', 'a'=>'動作',      'data'=>'', 'listorder'=>排序, 'display'=>'是否顯示'),true);//最后的true是用來返回ID的

文件最后應該有一個數組,這個數組是用來插入系統的/language/zh-cn/system_menu.lang.php里面的  格式如下
復制代碼 代碼如下:
$language = array(
    '這里是你起的操作名稱'=>'這里是操作的中文翻譯',
    類似:'mytest_init'=>'顯示列表'
    );

然后是model.php  這個就是你使用了哪些數據模型 可以理解為使用了哪些表
復制代碼 代碼如下:
return array('mytest','my_test_artcle');

然后是model.sql   這個是用來向系統的模型表里面插入數據用的
復制代碼 代碼如下:
INSERT INTO `phpcms_module` (`module`, `name`, `url`, `iscore`, `version`, `description`, `setting`, `listorder`, `disabled`, `installdate`, `updatedate`) VALUES ();

然后是mytest.sql 建立你數據庫表的語句應該寫在這個文件里面

接著就是你所使用的模板  應該放在templates里面  命名的規則應該是   mytest_add.tpl.php

最后是你的控制器   這個有的研究了.控制器里面是針對你每個url傳遞過來的action也就是a=?的動作.默認動作是init
復制代碼 代碼如下:
<?php
defined('IN_phpCMS') or exit('No permission resources.');
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');//使用模板的方法
  }
}

控制器里面寫好了   我們把上面的文件都寫完了就可以安裝我們的模塊了 。

php技術php筆記之:初探PHPcms模塊開發介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 热久久视久久精品18 | 香蕉99久久久久成人麻豆 | 国产亚洲精品精品国产亚洲综合 | chinese国语露脸videos | 寂寞夜晚视频高清观看免费 | 大陆午夜伦理 | 美女脱了内裤张开腿让男人爽 | 亚洲 欧美 国产 综合五月天 | 国产一区2区 | 久久精品亚洲精品国产欧美 | 国产白丝JK被疯狂输出视频 | 国产精品福利片 | 日欧一片内射VA在线影院 | 国产精品视频yy9099 | 最近中文字幕MV高清在线 | 欧美另类老少配hd | 92精品国产成人观看免费 | 女攻男受高h全文肉肉 | 妖精视频免费看 | japanese幼儿videos | 999视频在线观看 | 手机在线亚洲日韩国产 | 99在线免费视频 | 亚洲综合日韩中文字幕v在线 | 久久a在线视频观看 | 国产亚洲欧洲日韩在线三区 | 国内精品久久久久影院网站 | 久久综合一个色综合网 | 久久AV亚洲精品一区无码网 | 2022年国产精品久久久久 | 麻豆成人久久精品二区三区网站 | 色狼亚洲色图 | 午夜国产视频 | 538在线播放| 手机在线观看mv网址 | 日本护士在线观看 | 五月丁香啪啪. | 又黄又湿免费高清视频 | 亚洲免费在线视频观看 | 亚洲色在线 | 久久91精品国产91久久户 |