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

  1. <?php
  2. class indexControl extends skymvc
  3. {
  4. function __construct()
  5. {
  6. parent::__construct();
  7. $this->loadModel(array("article"));
  8. }
  9.  
  10. public function onDefault()
  11. {
  12. $option=array();
  13. $rscount=true;
  14. $data=$this->article->select($option,$rscount);
  15. $pagelist=$this->pagelist($rscount,20,APPINDEX."?m=index&a=default");
  16. $this->smarty->assign(array(
  17. "data"=>$data,
  18. "rscount"=>$rscount,
  19. "pagelist"=>$pagelist
  20. ));
  21. $this->smarty->display("index.html");
  22. }
  23.  
  24. public function onShow(){
  25. $id=get('id','i');
  26. $id && $data=$this->article->selectRow(array("where"=>"id=$id"));
  27. $this->smarty->assign(array(
  28. "data"=>$data
  29. ));
  30. $this->smarty->display("show.html");
  31. }
  32.  
  33. public function onAdd(){
  34. $id=get('id','i');
  35. $id && $data=$this->article->selectRow(array("where"=>"id=$id"));
  36. $this->smarty->assign(array(
  37. "data"=>$data
  38. ));
  39. $this->smarty->display("add.html");
  40. }
  41.  
  42. public function onSave(){
  43. $id=get_post("id","i");
  44. $data["title"]=get_post("title","h");
  45. $data["content"]=get_post("content","h");
  46. $data["dateline"]=time();
  47. if($id){
  48. $this->article->update($data,array('id'=>$id));
  49. }else{
  50. $this->article->insert($data);
  51. }
  52. $this->gomsg($this->lang["save_success"]);
  53. }
  54.  
  55. public function onDelete(){
  56. $id=get_post("id","i");
  57. $this->article->delete("id=$id");
  58. $this->gomsg($this->lang["delete_success"]);
  59. }
  60. }
  61.  
  62. ?>

模型:article.model.php

  1. <?php
  2. class articleModel extends model
  3. {
  4. public $base;
  5. function __construct(&$base)
  6. {
  7. parent::__construct($base);
  8. $this->base=$base;
  9. $this->table='article';
  10. }
  11.  
  12. }
  13.  
  14. ?>

View模版:

  1. {include file="header.html"}
  2. <table class="table table-bordered" width="100%">
  3. <tr>
  4. <td width="11%">ID</td>
  5. <td width="49%">标题</td>
  6. <td width="20%">发布时间</td>
  7. <td width="20%">操作</td>
  8. </tr>
  9.  
  10. {foreach item=c from=$data}
  11. <tr>
  12. <td>{$c.id}</td>
  13. <td><a href="{R("$appindex?m=index&a=show&id=$c.id")}">{$c.title}</a></td>
  14. <td>{$c.dateline|date:Y-m-d H:i:s}</td>
  15. <td><a href="{R("$appindex?m=index&a=add&id=$c.id")}">编辑</a>
  16. <a href="{R("$appindex?m=index&a=delete&id=$c.id")}">删除</a></td>
  17. </tr>
  18. {/foreach}
  19. </table>
  20. {$pagelist}
  21. {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. MINA之心跳协议运用

    转自:http://my.oschina.net/yjwxh/blog/174633 摘要 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了 ...

  2. NPIV介绍

    我们知道在存储区域网络(SAN:storage area network),主机(Host)能够访问后端存储(比如CLARiiON,VNX)必备的一个前提是主机必须配备HBA卡(Host Bus Ad ...

  3. Thinkpad SL400安装黑苹果10.8.4全纪录

    提要 还在为学习苹果开发的装备发愁么 ,也许这篇文章会给你带来一些启发. 关于黑苹果:从苹果采用intel的处理器之后,mac os被黑客破解之后可以安装在PC上,从而出现了一大批未购买苹果机而使用苹 ...

  4. mysql中对数据库的每个表执行优化的存储过程

    说明:此处为<高性能mysql(第二版)>中的示例代码,除了数据库名 其他未经更改.仅供学习及参考 对数据库的每个表执行优化的存储过程 CREATE PROCEDURE `inventor ...

  5. [GIF] GIF Loop Coder - Interpolation

    This video discusses the default interpolation in GIF Loop Coder, and four distinct ways to change t ...

  6. Android主题切换方案总结

    所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤. 1.将主题包(图片与配置)存到SD卡上(可通过下载或手动放入指定目录),在代码里强制从本地文件创建图片与配置文字大 ...

  7. Eclipse错误

    1.java compiler level does not match the version of the installed java project facet 解决:http://blog. ...

  8. day-3

    /* 快noip了!!!感觉还有好多事要做 上午考试 原题没做 自己找了套题 挺水的 T1模拟(然而没认真读题 90) T2 dp+简单优化 数据有点问题 T3 暴力状丫 然而写丑了 60分的要两秒多 ...

  9. Algorithm

    经过慎重考虑,也经过反复思考.查阅网上相关资料 一位高手对我的建议: 一般要做到50行以内的程序不用调试.100行以内的二分钟内调试成功.acm主要是考算法的 ,主要时间是花在思考算法上,不是花在写程 ...

  10. 实现View弹性滑动例子

    弹性滑动原理 将一次大的滑动非为若干次小的滑动,并在一个时间段内完成.有一种顺畅的感觉更-好的用户体验 实现方式很多种,包括用Scroller.动画.延时策略. 使用Handler实现弹性滑动 效果可 ...