4.7. 芝麻开门-Joomla的接口介绍
对广大开发人员来说,可以在Joomla!框架下轻松的开发出应用。Joomla!框架提供了强大的数据访问接口,Session访问接口等众多编程接口。Joomla! 的MVC三层架构使得框架层次清晰,开发人员只需要根据自己的需求改动必要的层,就可以开发出应用。本小节主要针对刚接触Joomla!的程序人员,主要介绍Joomla!里常用的程序调用接口,使阅读代码和开发代码更容易。
4.7. 1 .连接数据库
取得数据连接对象。采用JFactory::getDBO 方法,这样就可以取得已经建立好的Joomla数据库的连接,如下代码:
$db=& JFactory::getDBO();//JFactory 是一个静态类, getDBO为其中取得数据源的方法。
$db是一个 JDatabase的实例,可以执行数据库操作。
4.7. 2 .执行SQL语句
获得数据库实例后,调用实例中Excute方法直接执行数据库SQL操作。在Excute执行SQL语句一般是非查询的SQL操作,如 update,delete,insert等。代码如下:
$db=& JFactory::getDBO();
$query = 'delete FROM #__tags' ;
$db->Execute($query);
注意
| 使用Joomla!数据库调用接口,涉及到数据表的操作,不直接用数据表实际的名字,而使用#__表名。比如表在数据库中名字叫“jos_tags”,则在调用中名字为“#__tags”。 |
4.7. 3 .查询数据
做SQL查询操作过程是,先用setQuery执行查询语句。然后用loadObjectList取得查询结果。注意,用loadObjectList方法取得的数据集是对象数组形式的。最后对结果集进行循环处理,取得每一条记录。
$db= & JFactory::getDBO();
$query='select * from #__tags where tag<>"NO_TAGS"';
$db->setQuery($query);
$items = $db->loadObjectList();//数据结果是由对象组成的数组,每一条记录为一个对象
foreach ( $items as $item )
{
print $item->tag;//取得该条记录tag字段的值
}