TOME开发框架1.0.0(PHP框架)

来源:互联网 发布:软件开发测试工程师 编辑:程序博客网 时间:2024/05/16 11:17

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”文件夹

<?phpclass 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语句)

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

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

<?phpreturn 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”

<?phpclass 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"类

<?phpclass 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数据库支持

<?phpclass 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支持的对应选项

<?phpreturn 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



0 0
原创粉丝点击