What's new? | Help | Directory | Sign in
Google
                
Code License: New BSD License
Labels: PHP, PHP5, mvc, framework, oop
How to join?
Project owners:
  iwind.liu
Project members:
peterliuzy, chokesleep, chinajsp

I-Framework

I-Framework是基于PHP5面向对象的MVC开发框架

我们的目标是:Free,Easy,Fast

下载最新版本 欢迎加入我们,请联系: iwind.liu@gmail.com

资源

官方网站 http://if.4kiki.net
API http://if.4kiki.net/doc/api
用户手册 http://if.4kiki.net/doc/guide/
讨论社区 http://if.4kiki.net/bbs/
应用展示 http://code.google.com/p/i-framework/wiki/WhoAreUsingIF
FAQ http://tips.4kiki.net/tag/I-F/

主要特征

高性能

易扩展
  • I-F设计的第一个目标就是模块化
  • 开发、引入第三方库或基于I-F的模块非常容易
  • 每个模块可能很方便地管理自己的配置
  • 用户可以随意加载或取消加载某个模块
  • 控制器支持ActionFilter,使得写控制器插件相当容易
易调试
  • I-F总能精确定位到错误的位置
  • 支持运行环境配置,可随时在开发环境和产品环境下切换
  • 可记录日志、错误信息、异常信息到文件,方便事后查询
保持活跃
  • 我们会一直根据实践经验对框架进行更新
  • 更多的模块将被会被提供

示例

model

/**
 * TLog
 */
class TLog extends IDbRecord {
	static $_table = "tbl_log";
}

view

<html>
<head>
	<meta http-equiv="content-type" content="text/html;charset=utf-8">
	<title>阅读博客</title>
</head>
<body>
<table>
	<tr>
		<td>标题:</td>
		<td>{{$log.title}}</td>
	</tr>
	<tr>
		<td valign="top">内容</td>
		<td>{{$log.content|nl2br}}</td>
	</tr>
</table>

</body>
</html>

controller http://localhost/index/read/1 对应 doRead方法

<?php
class IndexController extends IController {
	public function _init() {
	}
	
	/**
	 * 读取日志
	 *
	 */
	public function doRead() {
		$this->log = q("TLog")->find(x("id"));
	}
	
	/**
	 * 添加日志
	 *
	 */
	public function doAdd() {
		$log = new TLog();
		$log->save(array(
			"content" => x("content"),
			"category_id" => x("category_id"),
			"submit_date" => date("Y-m-d H:i:s")
		));;
		echo "add ok";
	}
	
	/**
	 * 删除日志
	 *
	 */
	public function doDelete() {
		$log = q("TLog")->find(x("id"));
		$log->delete();
		echo "delete ok";
	}
	
	
	/**
	 * 修改日志
	 *
	 */
	public function doModify() {
		$this->log = q("TLog")->find(x("id"));
		
		//如果是post方法
		if ($this->request()->isPost()) {
			$this->log->save(array(
				"content" => x("content"),
				"category_id" => x("category_id")
			));
			echo "modify ok";
		}
	}	
	
}