iamfat / gini
Installs: 178
Dependents: 0
Suggesters: 0
Security: 0
Stars: 25
Watchers: 11
Forks: 18
Open Issues: 2
Requires
- doctrine/annotations: ^1.10
- doctrine/inflector: ^2
- dragonmantank/cron-expression: ^3.0
- sabre/dav: ^4.1
Requires (Dev)
- phpunit/phpunit: ^9.5
- dev-master
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.9.1
- 1.9.0
- 1.8.3
- 1.8.2
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.6.12
- 0.6.11
- 0.6.10
- 0.6.9
- 0.6.8
- 0.6.7
- 0.6.6
- 0.6.4
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
This package is auto-updated.
Last update: 2024-11-26 10:25:27 UTC
README
Gini 是一个基于松散模块依赖的MVC PHP框架,深受Kohana, Symphony和Composer的影响。
易用的CLI
Gini 在命令行下提供了一个 gini
命令, 和 composer
与 npm
类似. 你能够很容易的通过少数几条命令创建CLI的应用,然后通过 gini foo bar
的方式调用.
面向对象
Gini PHP framework 基于 PHP 5 OO. 现在难道还有 PHP 框架不是 OO 的吗?
兼容 Composer
你可以通过 Composer 来加装 Gini, 也可以独立使用 Gini, 又或者在 Gini 框架中直接使用各种 Composer 第三方模块.
Those ORM
这是一个内建的 ORM 实现, 方便大家采用 OO 的方式访问数据库. Database SQL 层完全被封装成了对象。 你可以像定义类一样的方式定义你的数据库表结构。当你实例化对象并赋值属性,然后使用 save
方法时,系统会自动将对象的属性保存在数据表中。
同时, Those ORM 提供了有趣的符合自然语义的语法来完成原本枯燥的SQL实现 (实验中...)。 以下是个示例:
// 查询所有名字以'J'开头, 爸爸的email中存在genee的用户 $users = those('users') ->whose('name')->beginWith('J') ->andWhose('father')->isIn( those('users')->whose('email')->contains('genee') );
内建 JSON-RPC 和 REST 的 API 与远程调用支持
以下是个示例:
- JSON-RPC
// Client $rpc = new \Gini\RPC('http://gini/api'); $sum = $rpc->hello->add(1, 2); //Server class Hello extends \Gini\Controller\API { public function actionAdd($a, $b) { return $a + $b; } }
- REST
// Client $rest = new \Gini\REST('http://localhost/rest'); $sum = $rest->post('add', ['a'=>1, 'b'=>2]); // Server class Hello extends \Gini\Controller\REST { public function postAdd($a, $b) { return $a + $b; } }