ThinkPHP-数据库抽象层及视图

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页


数据库抽象层

ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,而使用了统一的操作接口。我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理。目前支持MysqlMsSQL、PgSQL、SqliteOracle、 Ibase以及PDO等多种数据库和连接。

数据库抽象层也支持分布式数据库的连接,包括对等主从方式两种的支持,而且也支持多数据库连接和切换,为企业级应用保驾护航。

视图

ThinkPHP的视图主要由View视图类和模板文件构成。视图类负责Action控制器类和模板文件之间沟通,Action类把数据通过View类传递到模板文件,而模板文件把接收到的数据转换成相应的数据格式显示。在特殊的情况下面,视图类会缓存模板文件的输出结果,这个时候缓存文件也纳入了视图层的概念之中了。

如果模板文件使用了某些模板引擎进行标签定义,而不是使用原生的PHP语法,那么在模板输出的过程中还需要引入模板解析,如果是编译型的模板引擎例如ThinkPHP内置的模板引擎和Smarty之类的,那么模板文件会有一个编译的过程,通常编译后的模板文件会生成一个编译后的模板缓存文件,第二次输出模板文件的时候就是直接输出编译后的模板缓存。如果是解释型的模板引擎,就会在每次输出模板的过程中进行解析操作。

无论如何,视图应该仅仅是进行数据的输出显示,通常在视图渲染过程是不会改变数据本身的,而只是进行格式化输出和显示。