久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

HDWiki/運(yùn)行機(jī)制和原理

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

HDWiki | HDWiki使用 | HDWiki插件

基本原理[ ]

HDwiki是基于URL編程的方式。

HDwiki運(yùn)行機(jī)制和原理很簡單,一句話:通過傳入特定的URL以分發(fā)給相應(yīng)的控制器中某個(gè)函數(shù)進(jìn)行處理,最后將控制器處理后信息呈現(xiàn)于所包含的視圖中。

WEB開發(fā)中,主要工作無外呼是顯示頁面和提交表單這兩個(gè)工作。因此控制器通過URL訪問來確定顯示頁面,得到信息后那么只需要顯示的視圖”。而處理表單只需要處理完后重定向或者輸出某個(gè)信息。

為了最簡單完成MVC模式開發(fā)的要求,在開發(fā)過程中,需要遵循3個(gè)規(guī)則:

1、URL中都必須帶有兩個(gè)參數(shù) ,分別是control和method,用于表明改URL將由哪一控制器及方法處理

2、表單提交中的參數(shù)統(tǒng)一被處理,防SQL注入等,在一個(gè)control的方法里面不能帶用$_POST或$_GET。如果要訪問表單提交的參數(shù),則通過$this->post['username']或 $this->get[3]類似的形式。

3、控制器類的文件名定義了控制器能做到事情,如user.php,表示這個(gè)是和用戶相關(guān)的控制器,所以注冊(cè)登錄等都應(yīng)該寫道user.php里面。這里框架設(shè)計(jì)的時(shí)候,考慮到不需要控制器去調(diào)用控制器,所以所有的控制器的類名都是相同,名字就叫做 control

另外注意linux下區(qū)分大小寫,建議統(tǒng)一使用小寫.

HDwiki運(yùn)行機(jī)制和原理[ ]

index.php文件中有兩個(gè)參數(shù)control和method,此兩個(gè)參數(shù)會(huì)交由../model/HDwiki.class.php文件以分發(fā)到user控制器中的doregister方法,也就是說control和method用來指定哪一控制器和控制器中的那個(gè)方法處理。最后將處理后的數(shù)據(jù)顯示到view下view/default/register.htm中.

如何找到HDwiki相關(guān)代碼[ ]

當(dāng)大家想改動(dòng)某個(gè)功能的代碼的時(shí)候,一定要先看清這個(gè)功能的URL。

例如:瀏覽詞條的URL為 :doc-view-1

那么,說明這個(gè)瀏覽詞條的相關(guān)代碼在 control/doc.php 里面的 doview方法。

其中URL中的第一段為doc,表明代碼在 control/doc.php 里面,第二段為view,表示調(diào)用的方法是 doview

再如:百科分類的URL為:category.html

其中URL中的第一段為category,表明代碼在 control/category.php 里面,第二段為空,表示調(diào)用的方法是默認(rèn)方法 dodefault

例子:想改動(dòng)后臺(tái)seo設(shè)置的代碼

后臺(tái)的SEO設(shè)置的url為:index.php?admin_setting-seo

那么,你就找到 control/admin_setting.php 這個(gè)文件

然后 查找 function doseo()

這個(gè)里面的代碼就是你需要改動(dòng)的地方。

開發(fā)實(shí)例[ ]

步驟:

(1)、建立注冊(cè)的模板頁面 view\default\register.htm

(2)、 打開control目錄,建立一個(gè)文件user.php,代碼內(nèi)容如下:

<?php

!defined('IN_HDwiki') && exit('Access Denied');
 
class control extends base{

    function control(& $get,& $post){
        $this->base( & $get,& $post);
        $this->load('user');
    }
    

     function doregister() {
         
        if(!isset($this->post['submit'])){
              $this->view->display('register');
              exit;
        }
        $user_nick=$this->post['nick_name'];
        $password=$this->post['password'];
        $this->post['re_password'];
        $email=$this->post['email_addr'];
        $_ENV['user']->add_user($user_nick, $password, $email);
        echo '恭喜 <b>'.$user_nick.'</b> 注冊(cè)成功!';
    }

}
    
?>

(3)、打開model目錄,建立一個(gè)文件user.class.php ,代碼內(nèi)容如下:

<?php

!defined('IN_HDwiki') && exit('Access Denied');

class usermodel {

    var $db;
    var $base;

    function usermodel(&$base) {
        $this->base = $base;
        $this->db = $base->db;
    }
    
    function add_user($user_nick, $password, $email) {
        $password = md5($password);
        $user_nick_upper=strtoupper($user_nick);
        $this->db->query("
             INSERT INTO ".DB_TABLEPRE."user(user_email,user_nick,user_nick_upper,user_password)
             values ('$email','$user_nick','$user_nick_upper','$password') ");
        return $this->db->insert_id();
    }
    

}


?>

(4)訪問: http://127.0.0.1/HDwiki/index.php?user-register 即可看到效果

注意事項(xiàng)[ ]

在control中獲得頁面提交的參數(shù)共有兩種方法:

1、$this->get[2]; //獲取get方式的參數(shù),按照數(shù)字序號(hào)

2、$this->post['username']; //獲取post的參數(shù),按照表單名字

相關(guān)調(diào)用代碼[ ]

1、獲取ip $this->ip;

2、獲取設(shè)置參數(shù) $this->setting['site_name'];

3、獲得當(dāng)前用戶 $this->user;

4、獲得語言文件變量 $this->view->lang['adduserSuccess'];

5、頁面上需要顯示時(shí)間的時(shí)候,請(qǐng)注意,需要調(diào)用date方法

while($user=$this->db->fetch_array($query)){
            $user['lasttime']=$this->date($user['lasttime']);
            $user['regtime']=$this->date($user['regtime']);
            $userlist[]=$user;
        }

參考來源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手冊(cè)導(dǎo)航

HDWIKI安裝

安裝教程

HDWiki使用

前臺(tái)使用說明 | 用戶管理 | 模板管理 | 插件管理 | 數(shù)據(jù)庫管理 | 站內(nèi)統(tǒng)計(jì) | Map功能 | 基本設(shè)置 | 站點(diǎn)設(shè)置 | 擴(kuò)展設(shè)置 | 內(nèi)容設(shè)置 | 友情鏈接及廣告管理 | 分類管理 | 詞條管理 | 數(shù)據(jù)調(diào)用 | 其他內(nèi)容管理 | 禮品商店 | 圖片及木馬掃描 | Apache偽靜態(tài) | IIS偽靜態(tài) | Nginx偽靜態(tài) | 通用樣式解讀 | 樣式使用規(guī)則 | 數(shù)據(jù)庫結(jié)構(gòu)說明 | 模板說明 | 函數(shù)類參考 |軟件包結(jié)構(gòu) | HDWiki運(yùn)行機(jī)制和原理 |編碼規(guī)范 |MVC中的控制器 | 框架簡介 | 高級(jí)應(yīng)用 | MVC中的視圖 | MVC中的模型 | HDWiki與PHPCMS整合 | HDWiki與PHPWind整合 | HDWiki與DEDECMS整合 | HDWiki與UCenter整合 | 可視化編輯使用說明 | 模塊區(qū)版塊制作教程 | 模版共享

HDWiki插件

插件開發(fā)指南 | 許愿墻插件開發(fā)實(shí)例 | 模版與標(biāo)簽 | 宣傳中心 | 友情鏈接申請(qǐng) | 數(shù)據(jù)調(diào)用 | 互動(dòng)摸摸