0

0

php skymvc 一款轻量、简单的php_PHP教程

php中文网

php中文网

发布时间:2016-07-21 15:27:25

|

940人浏览过

|

来源于php中文网

原创

改框架主要用于实现多个程序员之间的协同开发以及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

复制代码 代码如下:

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 文件名可自定义
复制代码 代码如下:

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.控制器文件
复制代码 代码如下:

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
复制代码 代码如下:

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内容
复制代码 代码如下:

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 文件
复制代码 代码如下:

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
复制代码 代码如下:

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
复制代码 代码如下:

BR>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


content="text/html; charset=gb2312"
/>
无标题文档


这是第一个例子:Hello World !
这是测试的例子:{loop $test $t} {$t}
{/loop}



skymvc 下载地址

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/323756.htmlTechArticle改框架主要用于实现多个程序员之间的协同开发以及mvc开发模式的实现.skymvc采用mvc开发方式,框架本身易扩展。skymvc作为天网计划的基础框...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

88

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

90

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

61

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

493

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

16

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号