skymvc是一款轻量、简单易用的php mvc框架,经过多个项目实践改良。

特点:

1.mvc架构

2.m、v、c之间可以互相调用

3.简单的路由控制 R("/index.php");

4.强大的模版,模版可以直接调用m和c内容

5.语言包支持

6.hook机制

7.数据缓存

8.全文索引

9.静态生成

控制器:

index.ctrl.php

<?php
class indexControl extends skymvc
{
function __construct()
{
parent::__construct();
$this->loadModel(array("article"));
} public function onDefault()
{
$option=array();
$rscount=true;
$data=$this->article->select($option,$rscount);
$pagelist=$this->pagelist($rscount,20,APPINDEX."?m=index&a=default");
$this->smarty->assign(array(
"data"=>$data,
"rscount"=>$rscount,
"pagelist"=>$pagelist
));
$this->smarty->display("index.html");
} public function onShow(){
$id=get('id','i');
$id && $data=$this->article->selectRow(array("where"=>"id=$id"));
$this->smarty->assign(array(
"data"=>$data
));
$this->smarty->display("show.html");
} public function onAdd(){
$id=get('id','i');
$id && $data=$this->article->selectRow(array("where"=>"id=$id"));
$this->smarty->assign(array(
"data"=>$data
));
$this->smarty->display("add.html");
} public function onSave(){
$id=get_post("id","i");
$data["title"]=get_post("title","h");
$data["content"]=get_post("content","h");
$data["dateline"]=time();
if($id){
$this->article->update($data,array('id'=>$id));
}else{
$this->article->insert($data);
}
$this->gomsg($this->lang["save_success"]);
} public function onDelete(){
$id=get_post("id","i");
$this->article->delete("id=$id");
$this->gomsg($this->lang["delete_success"]);
}
} ?>

模型:article.model.php

<?php
class articleModel extends model
{
public $base;
function __construct(&$base)
{
parent::__construct($base);
$this->base=$base;
$this->table='article';
} } ?>

View模版:

{include file="header.html"}
<table class="table table-bordered" width="100%">
<tr>
<td width="11%">ID</td>
<td width="49%">标题</td>
<td width="20%">发布时间</td>
<td width="20%">操作</td>
</tr> {foreach item=c from=$data}
<tr>
<td>{$c.id}</td>
<td><a href="{R("$appindex?m=index&a=show&id=$c.id")}">{$c.title}</a></td>
<td>{$c.dateline|date:Y-m-d H:i:s}</td>
<td><a href="{R("$appindex?m=index&a=add&id=$c.id")}">编辑</a>
<a href="{R("$appindex?m=index&a=delete&id=$c.id")}">删除</a></td>
</tr>
{/foreach}
</table>
{$pagelist}
{include file="footer.html"} 

QQ交流群:61469962
官方网站:http://www.skymvc.com 欢迎大家使用交流。

下载地址: http://www.skymvc.com/down.html

欢迎使用skymvc框架,简单易用的php框架的更多相关文章

  1. html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

    简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下 ...

  2. android中的http框架,使其更加简单易用

    Afinal 是一个android的sqlite orm 和 ioc 框架. Afinal 是一个android的sqlite orm 和 ioc 框架.同时封装了android中的http框架,使其 ...

  3. 基于RxJava2+Retrofit2简单易用的网络请求实现

    代码地址如下:http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装 ...

  4. 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架 - LinFx

    LinFx 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架,遵循领域驱动设计(DDD)规范约束,提供实现事件驱动.事件回溯.响应式等特性的基础设施.让开发者享受到正真意义的面向对象 ...

  5. Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 开源了

    开源的来了,懒人程序员的福音,.NET 生态闭环太缺开源精神了, 拥抱开源! 前言: 本人不是不喜欢现有ORM的轮子,而是发现现有的ORM 的都不太符合开发人员的一些习惯.现有的ORM 要么功能太冗余 ...

  6. FineBI:一个简单易用的自助BI工具

    过去,有关企业数据分析的重担都压在IT部门,传统BI分析更多面向的是具有IT背景的人员.但随着业务分析需求的增加,很多公司都希望为业务用户提供自助分析服务,将分析工作落实到业务人员手中.但同时,分析工 ...

  7. DataAccess通用数据库访问类,简单易用,功能强悍

    以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...

  8. MongoDB聚合运算之group和aggregate聚集框架简单聚合(10)

    聚合运算之group 语法: db.collection.group( { key:{key1:1,key2:1}, cond:{}, reduce: function(curr,result) { ...

  9. 快速上手seajs——简单易用Seajs

    快速上手seajs——简单易用Seajs   原文  http://www.cnblogs.com/xjchenhao/p/4021775.html 主题 SeaJS 简易手册 http://yslo ...

随机推荐

  1. 分布式存储Ceph的几种安装方法,源码,apt-get,deploy工具,Ubuntu CentOS

    最近搞了下分布式PB级别的存储CEPH  尝试了几种不同的安装,使用 期间遇到很多问题,和大家一起分享. 一.源码安装 说明:源码安装可以了解到系统各个组件, 但是安装过程也是很费劲的,主要是依赖包太 ...

  2. GridControl 选择列、复选框全选(下)

    功能:        删除选中行 前台调用: string str=""; GridDelete(gv, "chk", out str); MessageBox ...

  3. spring websocket Converters must not be empty

    此文件    WebSocketConfig.java public class WebSocketConfig implements WebSocketMessageBrokerConfigurer ...

  4. php连接oracle

    1.安装oracle客户端,不管是32位还是64位:当系统是32位的时候,要装32位的客户端,PL/SQL才能给连上数据库 2.php.ini中对应的oracle相关扩展打开.php_openssl. ...

  5. 原创C# 枚举 多状态 操作

    C# 中枚举类型是一种值类型,目前(vs2012)还不能用于泛型. 此类型最多的用处是标识一组相同类型的状态量或常量,比如: 状态量 示例一 [Flags] public enum Connectio ...

  6. RPM vs SRPM

    RPM 全名是『 RedHat Package Manager 』简称则为 RPM 啦!顾名思义,当初这个软件管理的机制是由 Red Hat 这家公司发展出来的. RPM 是以一种数据库记录的方式来将 ...

  7. iOS之XIB拖拽scrollView

    在使用storyboard和xib时,我们经常要用到ScrollView,还有自动布局AutoLayout,但是ScrollView和AutoLayout 结合使用,相对来说有点复杂.根据实践,我说一 ...

  8. c#的方法重写和的java方法重写有什么区别

    java code: package example; class m1 { public int getInt() { return 0; } } class m2 extends m1 { pub ...

  9. 一个不错的flash 模板

    听到好听的背景音乐,而且效果也挺不错的,忽然感觉flash好强大呀 1.模板浏览地址:http://www.cssmoban.com/cssthemes/5229.shtml 2.模板演示地址:htt ...

  10. jquery处理textarea中的手动换行

    textarea的手动换行会产生换行标志,但这个标志存在却看不到,存入数据库中后读出来显示在页面上却不会换行,如何处理呢? 网上众说纷纭,经过测试用 textarea的内容.replace(/\n/g ...