iamfat / gini
2.3.1
2024-09-26 09:58 UTC
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-09-26 10:00:50 UTC
README
Gini 是一个基于松散模块依赖的MVC PHP框架,深受Kohana, Symphony和Composer的影响。
易用的CLI
Gini 在命令行下提供了一个 gini
命令,和 composer
与 npm
类似。你能够很容易地通过少数几条命令创建CLI的应用,然后通过 gini foo bar
的方式调用。
面向对象
Gini PHP框架基于PHP 5 OO。现在难道还有PHP框架不是OO的吗?
兼容Composer
你可以通过Composer来安装Gini,也可以独立使用Gini,或者在Gini框架中直接使用各种Composer第三方模块。
那些ORM
这是一个内建的ORM实现,方便大家采用OO的方式访问数据库。数据库SQL层完全被封装成了对象。你可以像定义类一样的方式定义你的数据库表结构。当你实例化对象并赋值属性,然后使用 save
方法时,系统会自动将对象的属性保存在数据表中。
同时, 那些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('https:///rest'); $sum = $rest->post('add', ['a'=>1, 'b'=>2]); // Server class Hello extends \Gini\Controller\REST { public function postAdd($a, $b) { return $a + $b; } }