介绍和概念 :
它是一个 PHP 库,用来简化和数据库的交互。最有特色的功能是处理表关联关系非常简单。另外 NotORM 的性能非常的高,甚至高过内置的驱动。(个人观点:不一定,但是对于新手来说。NotORM拼凑的sql语句性能还是比手写的要高)
提示:
对于这类库。没啥好高深的,就是拼凑sql语句。只不过人家老外拼的比较牛逼。
下载地址:
http://www.notorm.com/ 请大家自行下载
使用限制条件:
1、至少PHP 5.1 以上。这个没的说。如果谁还在用PHP 4.x 那就没意思了。版本太美,不敢看
2、需要开启PDO支持。啥是PDO?
PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等扩展来连接MySQL、PostgreSQL、MS SQL Server、SQLite,同样的,我们必须借助 ADOdb、PEAR::DB、PHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,php代码的效率怎么能够我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。
说白了。PHP的作者在以前水平还不够高。还没想到这么干。并不是PHP的知识点特别多
测试一下:
首先我们假设有两张表
1、新闻表news ,字段如下
id int 主键
title varchar(50) 标题
news_classid 新闻类别ID。 外键,这个很重要。后面要演示 关联
2、新闻类别表news_class
id int 主键
classname 类名
开始写代码
include(“NotORM.php”); //不要问我这句话哪来的。你下载好后,必然会有这个文件
$pdo = new PDO(“mysql:host=localhost;dbname=myweb”,”root”,”123″);//不要问我为什么我会这么写。看php官方文档即可。不要深究
//注意PDO是 php的PDO实现,自带的。和NotORM半毛钱都没关系
$structure = new NotORM_Structure_Convention(
$primary = ‘id’, //这里告诉notorm 我们的主键都是id 这种英文单词
$foreign = ‘%sid’, //同理,外键都是 外表名+id 这个很重要,否则notorm拼接sql的时候会拼错。
$table = ‘%s’,
$prefix = ”
);
$db=new NotORM($pdo,$structure); //初始化
foreach($db->news() as $n)
{
echo $n->news[“title”]; //打印标题
echo $n->news_class[“class_name”]; //打印和 news_class表关联后的 类别名
}
有几个注意的地方:
1、notorm对字段名的要求很高。 外键不要乱写。 譬如news_class是类别表。 那么news表里的类别字段必须是 news_classid。否则一切玩完
2、$db->news() ; 就代表 执行了 select * from news 这个sql语句
3、 echo $db->news(); 可以查看 notorm到底拼凑了 一个什么样的sql
其他的。大家看官方文档吧。 简单的很。
这里也强烈推荐大家使用。