phpwind v9.0二次開發

     phpwind(簡稱:pw)是一個基於PHP和MySQL的開源社區程序,是國內最受歡迎的通用型論壇程序之一。phpwind第一個版本ofstar發佈於2004年。目前phpwind項目品牌由阿里雲計算有限公司擁有,軟件全面開源免費。現已有累積超過100萬的網站採用phpwind產品,其中活躍網站近10萬。自2011年發佈PHPWind8.x系列版本以來,phpwind圍繞着提升社區內容價值和推進社區電子商務兩個大方向,開發單核心多模式的產品,實現新型的社區形態。今年籌備發佈的phpwind9.0將採用phpwind自主研發的Windframework框架並整合基於阿里云云計算架構的社區雲平臺應用中心,將爲未來的社區提供更豐富多樣的解決方案。


如何自定義開發PW9.0:

pw採用經典的MVC結構和企業級的分層架構,各個模塊和層次各司其職,耦合性低。下面簡單介紹常用目錄的作用
src/service/用於存放Model類
template/用於存放View類
src/applications/ 用於存放Controller類

M層都有srv,dm,dao等目錄

srv用於存放各種業務邏輯,比如發一個帖子,需要各種權限判斷之後才能插入

dm是數據字段映射以及簡單規則判斷,不明白沒關係
dao就是處理增改刪查的sql
另外還有一些scv,dm,dao目錄上的獨立文件,我們稱爲數據服務(ds),這是基礎的數據元服務層,相當於dao層的再包裝,只有ds才能調用dao裏的接口,這麼理解就對了。


1、 創建src/applications/cms/controller/IndexController.php

<?php
Wind::import('LIB:base.PwBaseController');
                                       
class IndexController extends PwBaseController {
                                           
    /**
     * 這是首頁  通過index.php?m=cms訪問
     * @see WindController::run()
     */
    public function run() {
        $ds = Wekit::load('cms.PwCms');
        $this->setOutput($ds->get(), 'content');
    }
                                           
    /**
     * 這是內容頁  通過index.php?m=cms&a=read訪問
     * Enter description here ...
     */
    public function readAction() {
                                               
    }
                                           
    /**
    * 用於模塊的門戶機制安裝,調試完成後請刪除   通過index.php?m=cms&a=setup訪問
    */
    public function setupAction() {
        $srv = Wekit::load('design.srv.router.PwDesignRouter');
        $srv->set('cms', 'index', 'run', 'cms首頁');
        $srv->set('cms', 'index', 'read', 'cms閱讀頁','id');  //如果不需要單獨定製閱讀頁樣式(像論壇的版塊頁門戶編輯保存時的提醒),把id去掉  這裏假設閱讀頁參數爲id
        $this->showMessage('success');
    }
                                       
}
?>


2、創建 template/cms/index_run.htm,請使用門戶標準模板,不然進行不了門戶管理
下載地址:http://www.phpwind.net/read/2863370


<!doctype html>
<html>
<head>
<template source='TPL:common.head' load='true' />
</head>
<body>
<pw-start/>
    <div class="wrap">
    <template source='TPL:common.header' load='true' /> <!--如果要使用公共頭部,請加這一行-->
    <div class="main_wrap">
        <pw-navigate/>
        <div class="cc">
            <!-- 網頁設計區域開始 -->
                                 
            <pw-drag id="segment_drag"/>
                                 
            {$content}
            <!-- 網頁設計區域結束 -->
                     
        </div>
    </div>
    <pw-footer/>
    </div>
<script>
Wind.use('jquery', 'global');
</script>
<pw-end/>
</body>
</html>


3 創建 src/applications/cms/PwCms.php文件

<?php
/**
 * 只有這個文件,才能使用dao裏的接口,請遵循這個規定
 */
class PwCms {
                   
    public function get() {
        return '我是內容123';
                       
    }
                   
    public function getList() {
        return array(
            1=>array('id'=>123, 'content'=>'我是內容123'),
            2=>array('id'=>124, 'content'=>'我是內容124'),
        );
                       
    }
                   
}
?>


瀏覽器地址欄輸入http://localhost/index.php?m=cms&a=setup 提示安裝成功
再輸入http://localhost/index.php?m=cms

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章