icaine / flunorette
基于 Nette/Database、FluendPdo 和 NotOrm 的数据库层。
v1.0.2
2014-07-02 16:38 UTC
Requires
- nette/nette: ~2.0
Requires (Dev)
- nette/tester: ~1.0
This package is not auto-updated.
Last update: 2024-09-24 02:06:33 UTC
README
Flunorette 是什么?
Flunorette
-
是一个简化与表、关系和 CRUD 操作工作的数据库层。
-
高度基于 Nette Database (Table) - NDB(T) 并使用修改后的 FluentPDO 作为 SQL 构建器。
-
直接从 NDB(T)2.0 衍生,因此与它有 95% 的兼容性[1]
-
使用与 NDBT2.0 相同的语法/API,但采用了 NDBT2.1 的更快代码。
我决定创建 Flunorette 的主要原因是 NDBT 对于简单的网站(如博客)来说是优秀的,但随着复杂网络应用的发展,迟早会遇到瓶颈。例如,一旦需要创建包含 JOIN 子句内条件的查询或其他任何高级查询,就无法使用 NDBT 实现。.
[1]: Flunorette 有一个替换器可以帮助您替换 NDB(T)2.0。
下载
通过 composer composer require icaine/flunorette '~1.0'
或通过 github。
文档
可以在 wiki 页面 上找到。
### 示例
一些示例可以在 wiki 页面 上找到,更多示例可以在 测试 中看到。
变更日志
1.6.2014 - 一些类已移动到新的命名空间(朝向 PSR-4)。要从 0.9 迁移到 1.0,请使用
//BC part //https://github.com/icaine/RenamedClassLoader $rcLoader = new iCaine\RenamedClassLoader([ 'Flunorette\\NetteDatabaseReplacer' => 'Flunorette\\Bridges\\Nette\\NetteDatabaseReplacer', 'Flunorette\\Hydrator' => 'Flunorette\\Hydrators\\Hydrator', 'Flunorette\\HydratorSelectionDefault' => 'Flunorette\\Hydrators\\HydratorSelection', 'Flunorette\\HydratorArrayHash' => 'Flunorette\\Hydrators\\HydratorArrayHash', 'Flunorette\\HydratorResult' => 'Flunorette\\Hydrators\\HydratorField', 'Flunorette\\ActiveRow' => 'Flunorette\\Selections\\ActiveRow', 'Flunorette\\Selection' => 'Flunorette\\Selections\\Selection', 'Flunorette\\GroupedSelection' => 'Flunorette\\Selections\\GroupedSelection', 'Flunorette\\ISelectionFactory' => 'Flunorette\\Selections\\ISelectionFactory', 'Flunorette\\SelectionFactory' => 'Flunorette\\Selections\\SelectionFactory', 'Flunorette\\DeleteQuery' => 'Flunorette\\Queries\\DeleteQuery', 'Flunorette\\InsertQuery' => 'Flunorette\\Queries\\InsertQuery', 'Flunorette\\JoinableQuery' => 'Flunorette\\Queries\\JoinableQuery', 'Flunorette\\Query' => 'Flunorette\\Queries\\Query', 'Flunorette\\QueryBuilder' => 'Flunorette\\Queries\\QueryBuilder', 'Flunorette\\QueryContext' => 'Flunorette\\Queries\\QueryContext', 'Flunorette\\SelectQuery' => 'Flunorette\\Queries\\SelectQuery', 'Flunorette\\UpdateQuery' => 'Flunorette\\Queries\\UpdateQuery', 'Flunorette\\IReflection' => 'Flunorette\\Reflections\\IReflection', 'Flunorette\\ConventionalReflection' => 'Flunorette\\Reflections\\ConventionalReflection', 'Flunorette\\DiscoveredReflection' => 'Flunorette\\Reflections\\DiscoveredReflection', 'Flunorette\\ReflectionException' => 'Flunorette\\Reflections\\ReflectionException', ]); $rcLoader->onClassLoaded[] = function ($old, $new) { trigger_error($old, E_USER_DEPRECATED); }; $rcLoader->register(); //If you are using the replacer //Flunorette\NetteDatabaseReplacer::replace(); //end BC part