yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。
一、基本目錄結構..../ 根目錄
..../cache 快取目錄[必須可寫入]
..../common 全站公共目錄[必須可寫入]
..../uploads 預設上傳目錄[必須可寫入]
..../yzmphp 程式核心目錄[不建議修改]
..../index.php 程式單一入口檔案
..../.htaccess apache偽靜態檔案[如您不是apache軟體,可根據此規則重寫偽靜態]
..../nginx.conf nginx下偽靜態檔案
每個模組下都有四個資料夾(common、controller、model、view)乙個檔案(index.html),這幾個檔案時必須有的,新建模組時也一定要有這幾個檔案。
---admin
------common(模組公共目錄)
------controller(模組控制器目錄)
------model(模組模型目錄)
------view(模組檢視目錄)
二、建立乙個新控制器
controller目錄中的每乙個.php檔案都是乙個控制器,控制器名稱都以.class.php字尾結尾。
新建乙個控制器:test
檔名稱:test.class.php,控制器類的類名稱與控制器檔名必須相同
//這兩行必須要,後台許可權控制
defined('in_yzmphp') or exit('access denied');
yzm_base ::load_controller('common', 'admin', 0);
//這兩行必須要,後台許可權控制
class test extends common else{
$affair->rollback(); //事務回滾
yzmcms 5.7版本新增的資料庫操作// insert方法新增第4個引數:replace
// 語法:insert($data, $filter = false, $primary = true, $replace = false)
// $data 要增加的資料,引數為陣列
// $filter 是否開啟實體轉義
// $primary 是否過濾主鍵
// $replace 是否為replace
// 返回值: 成功:返回自動增長的id,失敗:false
$data = array('title'=>'title', 'content'=>'content');
d('test')->insert($data, true);
// 新增批量插入方法:insert_all
// 語法:insert_all($data, $filter = false, $replace = false)
// $data 要增加的資料,引數為二維陣列
// $filter 是否開啟實體轉義
// $replace 是否為replace
$data = array(
array('title'=>'title1', 'content'=>'content1'),
array('title'=>'title2', 'content'=>'content2'),
array('title'=>'title3', 'content'=>'content3'),
$res = d('test')->insert_all($data, true);
m方法m是model的首字母,引數為乙個model類名稱,返回的是乙個model類物件,意為載入並例項化本模組下的model類
u方法如:u('add');
// 生成當前模組下的test控制器的add方法url位址
如:u('test/add') ;
// 生成admin模組下的test控制器的add方法url位址
如:u('admin/test/add')
說明:u('模組名稱/控制器名稱/方法名稱')
u方法可以有第二個引數,即可傳參
如:u('admin/test/init',array('id'=>1,'status'=>1))和u('admin/test/init','id=1&status=1')是等效的
四、二次開發原則
yzmcms作者開發時比較注重**簡潔、系統高效等特點,所以您在使用yzmcms做二次開發中也應該遵循以下開發原則:
1.新增功能盡量不要修改系統原檔案,建議以模組外掛程式形式開發。
2.使用者自定義全域性函式寫到「common/function/extention.func.php」檔案中,不影響系統公升級。
3.方法名稱和變數名稱都以小寫字元命名。
4.類檔案都以小寫字元命名,並以.class.php字尾結尾。
5.所有方法盡可能寫上注釋等。
mcms二次開發 YzmCMS二次開發手冊
摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...
postek二次開發 POSTEK二次開發介面
例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...
用友二次開發
最近在做用友nc的乙個二次開發專案,已經做了快乙個月了。在這乙個月中在感到吃力的同時也收穫了一些東西。據說用友nc平台是基於ejb的,但到目前為止我連ejb是個什麼東西都還沒搞清呢。這個系統的 分為了三個部分,public private client,分別指代ejb對應的介面 後台資料庫處理和前台...