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();
}
}
<?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){
}
}
<?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

框架下载地址: VERSION 1.0.0