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

HDWiki/運行機制和原理

來自站長百科
Jiaomh討論 | 貢獻2011年2月1日 (二) 16:03的版本
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉至: 導航、? 搜索

HDWiki | HDWiki使用 | HDWiki插件

基本原理[ ]

HDwiki是基于URL編程的方式。

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

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

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

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

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

3、控制器類的文件名定義了控制器能做到事情,如user.php,表示這個是和用戶相關的控制器,所以注冊登錄等都應該寫道user.php里面。這里框架設計的時候,考慮到不需要控制器去調用控制器,所以所有的控制器的類名都是相同,名字就叫做 control

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

HDwiki運行機制和原理[ ]

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

如何找到HDwiki相關代碼[ ]

當大家想改動某個功能的代碼的時候,一定要先看清這個功能的URL。

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

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

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

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

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

例子:想改動后臺seo設置的代碼

后臺的SEO設置的url為:index.php?admin_setting-seo

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

然后 查找 function doseo()

這個里面的代碼就是你需要改動的地方。

開發(fā)實例[ ]

步驟:

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

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

<?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> 注冊成功!';
    }

}
    
?>

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

<?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 即可看到效果

注意事項[ ]

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

1、$this->get[2]; //獲取get方式的參數,按照數字序號

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

相關調用代碼[ ]

1、獲取ip $this->ip;

2、獲取設置參數 $this->setting['site_name'];

3、獲得當前用戶 $this->user;

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

5、頁面上需要顯示時間的時候,請注意,需要調用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使用手冊導航

HDWIKI安裝

安裝教程

HDWiki使用

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

HDWiki插件

插件開發(fā)指南 | 許愿墻插件開發(fā)實例 | 模版與標簽 | 宣傳中心 | 友情鏈接申請 | 數據調用 | 互動摸摸