TOME开发框架1.0.0(PHP框架)

2014年TOME开发框架1.0.0版本也出来了,写它的原意是想有一个自己用的PHP开发框架。并且不想去学习别的框架。如果有时间,我愿意接着写下去。

整个框架文件列表如下

cache ==模板缓存目录,

controller==控制器目录,

model ==模型目录,

tome==框架核心目录,

view == 模板目录

url路径 “index.php?m=app&c=index&a=normal”    , m代表控制器目录,c控制器类,a控制器方法。

如上URL所示,开发步骤如下

在“controller”目录 下新建一个“app”的文件夹,然后在里面新建一个“index.class.php”文件夹

<?php
class index{
	
	function normal(){
		$model = tome::load_model('test');
		$update = $model->fields('*')->select();
		$tpl     = tome::load_view('app');
		$tpl->cc = 'sdfasdfasfasd';
		
		$tpl->display('index/normal.tpl.php');
		
	}
}
然后在“view”的目录下新建一个“app”文件夹,然后新建一个“index”文件夹,在“index”文件夹里新建一个"normal.tpl.php"。(TOME开发框架的模板是原生的PHP语句)

<?php
echo 'Hello World!';
echo $cc;

如果要添加数据库的支持,必须在“tome/libs/configs/sys.config.php”

<?php
return array(
	'VIEW_CACHE' => false , 
	'DB_TYPE' => 'mysql',
	'DB_HOST' => 'localhost',
	'DB_PORT' => '3306',
	'DB_USER' => 'root',
	'DB_PASS' => '',
	'DB_CHARSET' => 'utf8',
	'DB_NAME' => 'mf',
	'DB_PREFIX' => 'mf_'
);


我们以test数据表为例

CREATE TABLE `mf_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
然后新建一个数据库“mf”,添加上述数据表

然后在“model”文件夹里新建一个“test.class.php”

<?php
class test extends model{
	protected $table_name = __CLASS__;  
}
必须继承model ,且必須有”protected $table_name=__CLASS__“。

这样在的控制器里就可以进行增删改查操作,TOME框架暂时只支持如下操作

$model = tome::load_model('test');

$id = $model->insert(array('id'=>1 , 'text'=>'teststsetser'));

$result = $model->delete('id=1'); //or
		$model->delete(array('id'=>1));

$model->update(array('text'=>'sdfsdfsdf'));//全部更新
		$model->update(array('text'=>'sdfsdfsdf') , 'id=1');//部分更新
		$model->update(array('text'=>'sdfsdfsdf') , array('id'=>1));//部分更新

$result = $model->fields('*')->where('id>0')->select();//连贯操作
		$result = $model->select('select * from #@test');//支持SQL语句,请将表名的前缀替换为#@


TOME框架暂只支持MYSQL,如果要添加其他数据库操作

请参照"tome/libs/classes/mysql.class.php"类

<?php
class mysql extends db implements singleton{
	
	protected static $instance = null;
	
	protected $link;
	
	public static function get_instance(){
		if(is_null(self::$instance)){
			self::$instance = new self();
		}
		return self::$instance;
	}
	
	private function __construct(){
		$this->link = mysql_connect(DB_HOST . ':' . DB_PORT , DB_USER , DB_PASS);
		mysql_set_charset(DB_CHARSET , $this->link);
		mysql_select_db(DB_NAME , $this->link);
	}
	
	public function clean($string){
		return mysql_real_escape_string($string,$this->link);
	}
	
	public function execute($query){
		return mysql_query($query,$this->link);
	}
	
	public function insert_get_id($query){
		$this->execute($query);
		return mysql_insert_id($this->link);
	}
	
	public function get_array($query){
		$result = $this->execute($query);
		$return = array();
		if($result){
			while($row = mysql_fetch_array($result , MYSQL_ASSOC)){
				$return[] =$row;
			}
		}
		return $return;
	}
	
	public static function get_version(){
		return mysql_get_server_info();
	}
}


例如要添加SQL SERVER数据库支持

<?php
class sql_server extends db implements singleton{
	//此属性必须
	protected static $instance = null;

	//此方法必须
	public static function get_instance(){
		if(is_null(self::$instance)){
			self::$instance = new self();
		}
		return self::$instance;
	}
	
	private function __construct(){
		
	}
	//此方法必须,字符串清理 返回数组
	public function clean($string){
		
	}
	//此方法必须,执行SQL,返回Resource or False;
	public function execute($query){
		
	}
	//此方法必须,执行添加操作SQL ,返回上次操作的ID,整形
	public function insert_get_id($query){
		
	}
	//此方法必须,执行SQL , 返回数组
	public function get_array($query){
		
	}

}


然后在“tome/libs/configs/sys.config.php”里将DB设置为SQL支持的对应选项

<?php
return array(
	'VIEW_CACHE' => false , 
	'DB_TYPE' => 'sql_server',//数据库
	'DB_HOST' => 'localhost',
	'DB_PORT' => '3306',
	'DB_USER' => 'root',
	'DB_PASS' => '',
	'DB_CHARSET' => 'utf8',
	'DB_NAME' => 'mf',
	'DB_PREFIX' => 'mf_'
);

TOME的基本框架如下,如有任何问题,CALL ME  673511439

框架下载地址: VERSION 1.0.0



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值