激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php skymvc 一款輕量、簡單的php

php skymvc 一款輕量、簡單的php

2019-12-03 12:13PHP教程網 PHP教程

skymvc是一款輕量、簡單的php mvc框架,借鑒了各大框架的設計,采納了很多優秀的函數及類,skymvc不鼓勵傻瓜式的開發,更注重給予開發者更多的思考空間。

改框架主要用于實現多個程序員之間的協同開發以及mvc開發模式的實現.skymvc采用mvc開發方式,框架本身易擴展。skymvc作為天網計劃的基礎框架,秉承易用、易學、共同開發的優良傳統,我們致力于打造一款優秀的php 
mvc框架。歡迎大家多多提些建議。 
1.創建配置文件skyMVC支持自動創建網站目錄:輸入http://locahost/skymvc/install.php 即可自動創建 
文件目錄。如果創建之后想重新創建,刪除install.lock文件及可。 
推薦自動創建。 
也可以手動創建:目錄都可以自定義 
自定義目錄時需要對程序進行相應的配置 
admin 后臺目錄 
admin/model 
admin/ctrl 
attach 
上傳的附件目錄 
ctrl 控制文件目錄 
data 目錄 
data/config.php 
配置文件 
data/cache 緩存目錄 
data/cache/css 
css緩存 
data/cache/file文件緩存 
data/cache/tpl 模板緩存 
data/cache/js 
js緩存 
model 模型文件目錄 
tpl 模板目錄 
tpl/admin 后臺模板 
tpl/default 
默認模板 
js目錄 
plugin 插件目錄 
admin.php 后臺入口文件 
index.php 前臺入口文件 
2.入口文件 


skymvc采用單一入口模式,但不是唯一入口,推薦使用兩個入口。一個是前臺入口,一個是后臺入口。 
1.前臺入口文件實例:index.php 文件名可以自定義 推薦 index 或者 
default 

復制代碼代碼如下:


<?php 
require 
"data/config.php";//加載配置文件 
require("skymvc/skymvc.php");//引用框架文件 
//判斷控制器是否合法 
$_GET['m']=isset($_GET['m']) 
&& 
in_array($_GET['m'],array('index'))?$_GET['m']:'index'; 
//判斷結束 
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php"); 
$classname 
= $_GET['m'].'Control'; 
$control = new 
$classname(); 
//配置偽靜態的 
$control->tpl->rewrite=false; 
$control->tpl->rewrite_rule=array(array("/index.php/i"),array("index.html")); 
//配置偽靜態結束 
$method=isset($_GET['a']) 
&& method_exists($control,'on'.$_GET['a'])? 
'on'.$_GET['a']:"onDefault"; 
$control->$method(); 
?> 


2.后臺入口文件:admin.php 文件名可自定義 

復制代碼代碼如下:


<?php 
require 
"data/config.php"; 
require("skymvc/skymvc.php"); 
$_GET['m']=isset($_GET['m']) 
&& 
in_array($_GET['m'],array('index','article'))?$_GET['m']:'index'; 
require_once(ADMIN_DIR."/".CTRL_DIR."/{$_GET['m']}.ctrl.php"); 
$classname 
= $_GET['m'].'Control'; 
$control = new 
$classname(); 
//配置偽靜態的 
$control->tpl->tplid="admin"; 
$control->tpl->currdir="admin"; 
$control->tpl->rewrite_on=true; 
$control->tpl->rewrite_rule=array(array("/index.php/","index.html")); 
$method=isset($_GET['a']) 
&& method_exists($control,'on'.$_GET['a'])? 
'on'.$_GET['a']:"onDefault"; 
$control->$method() 
?> 


說明:前后臺入口文件的差別不大,主要在于 模型 和 控制文件 所在文件夾。 
3.控制器文件 

復制代碼代碼如下:


<?php 
class indexControl extends skymvc 

function 
__construct() 

$this->indexControl(); 


function 
indexControl() 

parent::__construct();//父類初始化 
$this->loadModel("index"); 
//后臺 

//$this->loadAdminModel("index"); 

function 
onDefault() 


$this->tpl->assign("welcome","歡迎使用skymvc,讓我們共同努力!"); 
$this->tpl->assign("who",$_ENV['indexModel']->test()); 
//后臺 
//$this->tpl->assign("who",$_ENV['admin_indexModel']->test()); 
$this->tpl->display("index"); 

?> 


4.模型文件 
模型文件主要用于處理數據,當然也可以處理其他的邏輯,但不推薦。文件命名規范:類.model.php 
如:index.model.php. 
模型文件位于模型目錄下面:如model目錄 
例:index.model.php 

復制代碼代碼如下:


<?php 
class 
indexModel 

public $base; 
function 
__construct(&$base) 

$this->indexModel($base); 

function 
indexModel(&$base) 

$this->base=$base; 
$this->db=$base->db; 

function 
test() 

echo "這是模型測試"; 



?> 


模型文件:前后臺一樣 就存儲的地方不一樣 
5.hello world 
kymvc框架的hello word ! 
如果是自動創建目錄的話。 
配置好數據庫 
index.php 
入口文件寫好。 
index.php內容 

復制代碼代碼如下:


<?php 
require 
"data/config.php";//加載配置文件 
require("skymvc/skymvc.php");//引用框架文件 
//判斷控制器是否合法 
$_GET['m']=isset($_GET['m']) 
&& 
in_array($_GET['m'],array('index','article'))?$_GET['m']:'index';//將所有在index.php入口出現的模塊都放入array()里 
//判斷結束 
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php"); 
$classname 
= $_GET['m'].'Control'; 
$control = new 
$classname(); 
$method=isset($_GET['a']) && 
method_exists($control,'on'.$_GET['a'])? 
'on'.$_GET['a']:"onDefault"; 
$control->$method();?> 


在ctrl目錄下 創建 
hello.ctrl.php 文件 

復制代碼代碼如下:


<?php//hellControl 類得命名規范 類名Control 
class 
helloControl extends skymvc 


function __construct() 

$this->helloControl(); 

function 
helloControl() 

parent::__construct(); 
$this->loadModel("hello");//載入模型 
可以載入任何模型 但不能是相同類的模型 

//默認執行的動作 命名規范 on函數名 
function 
onDefault() 

echo "hello world 
"; $this->smarty->display("hello.html"); 

//當m=hello, a=test 
執行下面的函數 
function 
onTest(){ 
$this->tpl->assign("test",$_ENV['helloModel']->gettest()); 

$this->tpl->display("hello.html"); 


}?> 


在model目錄下 
創建hello.model.php 

復制代碼代碼如下:


<?php 
class helloModel 

public 
$base; 
function 
__construct(&$base) 

$this->helloModel($base); 


function 
helloModel(&$base) 

$this->base=$base; 
$this->db=$base->$db; 

//上面都是不用改的 
function gettest(){ 
return $this->db->getRow("select * from test 
limit 1");//讀取數據 


?> 


在tpl目錄下 新建 hello.html 

復制代碼代碼如下:


<!DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" 
content="text/html; charset=gb2312" 
/> 
<title>無標題文檔</title> 
</head> 
<body> 
這是第一個例子:Hello World ! 
這是測試的例子:{loop $test $t} {$t} 
{/loop} 
</body> 
</html> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久av电影 | 久久免费视频一区二区三区 | fc2国产成人免费视频 | 欧美日韩在线中文字幕 | 日韩一级毛毛片 | 成人毛片视频免费看 | 精品国产91久久久久久浪潮蜜月 | 久久久精品视频免费看 | 91短视频在线 | 四季久久免费一区二区三区四区 | 免费a级毛片大学生免费观看 | 毛片免费看电影 | av色在线观看 | 中文字幕在线观看亚洲 | 大学生一级毛片在线视频 | 美女黄页网站免费进入 | 国产亚洲精品成人a | 久久久久女人精品毛片九一 | 激情午夜天 | 国产无遮挡一级毛片 | www.99久 | 国产人成精品综合欧美成人 | 国产精品呻吟 | 亚洲日本韩国在线观看 | 久久国产精品久久久久 | 欧美成人精品一区二区 | 国产剧情在线观看一区二区 | 日韩中字在线 | 福利在线小视频 | 久久99综合 | 91久久久久久久 | 自拍偷拍999 | 欧美三级欧美成人高清www | 羞羞电影在线观看 | 天天操天天碰 | 久久婷婷一区二区三区 | 97青青| hdhdhdhd19日本人| 一级黄色免费大片 | a集毛片| 天天色图片 |