You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This collection of classes contains my favorite building blocks for developing websites with PHP and they have an impressive track record with hundreds of currently active websites using one version or another of the classes in this framework. While they were originally written years ago they are all PSR compatible and support modern practices out of the box.
@@ -16,17 +40,18 @@ Unit testing the code base and providing code coverage is a primary goal of this
16
40
# Main Features
17
41
* Models
18
42
* Real PHP classes.
19
-
* Map fields with array or attributes.
43
+
* Declare fields with static arrays or PHP 8 attributes (`#[Column(...)]`).
44
+
* Declare relationships with static arrays or PHP 8 attributes (`#[Relation(...)]`).
20
45
* Built in support for relationships and object versioning.
21
-
* Speed up prototyping and automate new deployments by automatically creates table based on your models when none are found.
22
-
* Built in support for MySQL.
46
+
* Speed up prototyping and automate new deployments by automatically creating tables based on your models when none are found.
47
+
* Built in support for MySQL and SQLite.
23
48
24
49
* Routing
25
50
* Simpler, faster, tree based routing system.
26
51
* Built with basic class inheritance in mind.
27
52
28
53
* Controllers
29
-
*Psr7 compatible controllers.
54
+
*PSR-7 compatible controllers.
30
55
* Pre-made REST API controllers allow you to build APIs rapidly.
31
56
* 100% Unit test coverage for filters, sorters, and conditions.
32
57
* Build HTTP APIs in minutes by extending `RecordsRequestHandler` and setting the one config variable: the name of your model class.
@@ -43,6 +68,27 @@ Unit testing the code base and providing code coverage is a primary goal of this
43
68
* Manage media remotely with a built in JSON API using the standard permissions interface for all controllers.
44
69
* Supports POST and PUT request types for media uploads.
45
70
71
+
## Installation
72
+
73
+
```bash
74
+
composer require divergence/divergence
75
+
```
76
+
77
+
The [divergence/cli](https://packagist.org/packages/divergence/cli) package is also available to initialize new projects and manage database configurations from the command line.
78
+
79
+
## Running Tests
80
+
81
+
```bash
82
+
# Run all test suites
83
+
composer test
84
+
85
+
# MySQL suite only
86
+
composer test:mysql
87
+
88
+
# SQLite in-memory suite only
89
+
composer test:sqlite
90
+
```
91
+
46
92
### Contributing To Divergence
47
93
48
94
**All issues and pull requests should be filed on the [Divergence/framework](http://github.com/Divergence/framework) repository.**
@@ -52,5 +98,5 @@ Unit testing the code base and providing code coverage is a primary goal of this
52
98
The Divergence framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
53
99
54
100
### Credits
55
-
-Much of the original code in this framework was published as part of the [PHP framework portion](https://github.com/JarvusInnovations/Emergence-Skeleton) of [Emergence](https://github.com/JarvusInnovations/Emergence) by [Chris Alfano](https://github.com/themightychris).
56
-
- This project is maintained by [Henry Paradiz](https://github.com/hparadiz)
101
+
-The patterns in this framework are a fork of the [PHP framework portion](https://github.com/JarvusInnovations/Emergence-Skeleton) of [Emergence](https://github.com/JarvusInnovations/Emergence) by [Chris Alfano](https://github.com/themightychris).
102
+
- This project is maintained by [Henry Paradiz](https://github.com/hparadiz)
0 commit comments