一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - php skymvc 一款輕量、簡(jiǎn)單的php

php skymvc 一款輕量、簡(jiǎn)單的php

2019-12-03 12:13PHP教程網(wǎng) PHP教程

skymvc是一款輕量、簡(jiǎn)單的php mvc框架,借鑒了各大框架的設(shè)計(jì),采納了很多優(yōu)秀的函數(shù)及類,skymvc不鼓勵(lì)傻瓜式的開發(fā),更注重給予開發(fā)者更多的思考空間。

改框架主要用于實(shí)現(xiàn)多個(gè)程序員之間的協(xié)同開發(fā)以及mvc開發(fā)模式的實(shí)現(xiàn).skymvc采用mvc開發(fā)方式,框架本身易擴(kuò)展。skymvc作為天網(wǎng)計(jì)劃的基礎(chǔ)框架,秉承易用、易學(xué)、共同開發(fā)的優(yōu)良傳統(tǒng),我們致力于打造一款優(yōu)秀的php 
mvc框架。歡迎大家多多提些建議。 
1.創(chuàng)建配置文件skyMVC支持自動(dòng)創(chuàng)建網(wǎng)站目錄:輸入http://locahost/skymvc/install.php 即可自動(dòng)創(chuàng)建 
文件目錄。如果創(chuàng)建之后想重新創(chuàng)建,刪除install.lock文件及可。 
推薦自動(dòng)創(chuàng)建。 
也可以手動(dòng)創(chuàng)建:目錄都可以自定義 
自定義目錄時(shí)需要對(duì)程序進(jìn)行相應(yīng)的配置 
admin 后臺(tái)目錄 
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 后臺(tái)模板 
tpl/default 
默認(rèn)模板 
js目錄 
plugin 插件目錄 
admin.php 后臺(tái)入口文件 
index.php 前臺(tái)入口文件 
2.入口文件 


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

復(fù)制代碼代碼如下:


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


2.后臺(tái)入口文件:admin.php 文件名可自定義 

復(fù)制代碼代碼如下:


<?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(); 
//配置偽靜態(tài)的 
$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() 
?> 


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

復(fù)制代碼代碼如下:


<?php 
class indexControl extends skymvc 

function 
__construct() 

$this->indexControl(); 


function 
indexControl() 

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

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

function 
onDefault() 


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

?> 


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

復(fù)制代碼代碼如下:


<?php 
class 
indexModel 

public $base; 
function 
__construct(&$base) 

$this->indexModel($base); 

function 
indexModel(&$base) 

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

function 
test() 

echo "這是模型測(cè)試"; 



?> 


模型文件:前后臺(tái)一樣 就存儲(chǔ)的地方不一樣 
5.hello world 
kymvc框架的hello word ! 
如果是自動(dòng)創(chuàng)建目錄的話。 
配置好數(shù)據(jù)庫(kù) 
index.php 
入口文件寫好。 
index.php內(nèi)容 

復(fù)制代碼代碼如下:


<?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入口出現(xiàn)的模塊都放入array()里 
//判斷結(jié)束 
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目錄下 創(chuàng)建 
hello.ctrl.php 文件 

復(fù)制代碼代碼如下:


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


function __construct() 

$this->helloControl(); 

function 
helloControl() 

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

//默認(rèn)執(zhí)行的動(dòng)作 命名規(guī)范 on函數(shù)名 
function 
onDefault() 

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

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

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


}?> 


在model目錄下 
創(chuàng)建hello.model.php 

復(fù)制代碼代碼如下:


<?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");//讀取數(shù)據(jù) 


?> 


在tpl目錄下 新建 hello.html 

復(fù)制代碼代碼如下:


<!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>無(wú)標(biāo)題文檔</title> 
</head> 
<body> 
這是第一個(gè)例子:Hello World ! 
這是測(cè)試的例子:{loop $test $t} {$t} 
{/loop} 
</body> 
</html> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费播放器 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 亚洲国产欧美在线人成aaa | 亚洲欧美日韩天堂 | 日本中出视频 | 欧美日韩国产一区二区三区不卡 | 调教小荡娃h | 亚洲AV永久无码精品澳门 | 暖暖 免费 高清 日本 在线 | 暖暖 免费 高清 日本 中文 | 国产精品主播在线 | 色综合亚洲精品激情狠狠 | 国产不卡视频一区二区在线观看 | 二次元美女互摸隐私互扒 | 久久精品AV一区二区无码 | 成年人视频在线播放 | 日麻逼 | 三体动漫在线观看免费完整版2022 | 金莲你下面好紧夹得我好爽 | 4hu影院永久在线播放 | 99re8在这里只有精品23 | 亚欧美色 | 999久久久免费精品国产牛牛 | 日本黄a三级三级三级 | 免费在线看片网站 | 34g污奶跳舞 | 国产欧美一区二区三区精品 | 欧美干b视频 | 爱情岛论坛自拍永久入口 | 国产男女性特黄录像 | 成人在线日韩 | 日本不卡一区二区三区在线观看 | 果冻传媒在线播放观看w | chinese壮直男gay老年人 | 成人在线观看一区 | 无限在线看免费视频大全 | 白丝尤物的下面被疯狂蹂躏 | 欧美一级片免费在线观看 | 国产不卡视频一区二区在线观看 | 日韩国产成人精品视频 | 亚洲AV久久无码精品蜜桃 |