Skip to content

Commit 0c67f5b

Browse files
authored
Merge pull request #63 from clue/documentation
Improve documentation structure
2 parents 4aac945 + e6a280b commit 0c67f5b

16 files changed

Lines changed: 144 additions & 74 deletions

docs/async/fibers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ return value.
4949
>
5050
> This is a feature preview, i.e. it might not have made it into the current beta.
5151
> Give feedback to help us prioritize.
52-
> We also welcome [contributors](../more/community.md) to help out!
52+
> We also welcome [contributors](../getting-started/community.md) to help out!
5353
5454
At the moment, fibers are available as a development version by installing
5555
[react/async](https://github.com/reactphp/async) from a development branch

docs/best-practices/deployment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,4 +348,4 @@ Hello wörld!
348348
>
349349
> You're seeing an early draft of the documentation that is still in the works.
350350
> Give feedback to help us prioritize.
351-
> We also welcome [contributors](../more/community.md) to help out!
351+
> We also welcome [contributors](../getting-started/community.md) to help out!

docs/getting-started/community.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Community
2+
3+
Framework X is so much more than *yet another framework*, it is the way to
4+
introduce asynchronous programming to the broader PHP community. We believe it's
5+
essential to involve the whole community in all our processes and provide you
6+
with the opportunity to bring up your awesome ideas.
7+
8+
## Support
9+
10+
We are where the open-source community is! We use
11+
12+
* [GitHub discussions](https://github.com/clue/framework-x/discussions) and
13+
* [GitHub issues](https://github.com/clue/framework-x/issues)
14+
15+
as a great way to keep track of discussions and follow the project progress and
16+
upcoming enhancements.
17+
See also our [community section](https://framework-x.org/#community) for more
18+
support options, including commercial ones.
19+
20+
You may also reach out to us by mentioning [**@x_framework** on Twitter](https://twitter.com/x_framework).
21+
We would love to hear your feedback! ❤️
22+
23+
## Want to help out?
24+
25+
We actively invite contributors to this project!
26+
27+
* Follow [**@x_framework** on Twitter](https://twitter.com/x_framework)
28+
* Engage in our [GitHub discussions](https://github.com/clue/framework-x/discussions)
29+
* Help by giving feedback or triaging [GitHub issues](https://github.com/clue/framework-x/issues)
30+
* Consider becoming a [sponsor on GitHub](https://github.com/sponsors/clue)
31+
* Contribute to our [GitHub repository](https://github.com/clue/framework-x) with a code or documentation PR. Happy hacking!
32+
33+
If you've tried out X, no matter how small your experiment, make sure to share
34+
your results with the world! We would love to hear what you think about X in a
35+
tweet mentioning [**@x_framework**](https://twitter.com/x_framework). ❤️
36+
37+
## Open source
38+
39+
Framework X will be released as open-source under the permissive MIT license.
40+
This means it will be free as in free speech and as in free beer.
41+
42+
We believe in open source and made a conscious decision to take this path.
43+
Being open-source means we can foster a community to focus on building the best possible framework together.
44+
Framework X builds on top of existing open-source projects and we want to give back to this community of awesome engineers and developers.
45+
Being open to outside contributions means we can guarantee interoperability with a vivid ecosystem and ensure the longevity of the project.

docs/getting-started/philosophy.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Our philosophy
2+
3+
## What drives us
4+
5+
Framework X is so much more than *yet another framework*. Here's what drives
6+
us and how we make decisions for the framework.
7+
8+
* **make easy things easy & hard things possible**
9+
10+
Making easy things easy is one of our leading mottos. If making the hard thing
11+
possible involves making the easy thing hard, we would rather focus on the easy
12+
thing.
13+
14+
* **From quick prototyping RAD to production environments in hours**
15+
16+
Get started in minutes with a <abbrev title="Rapid Application Development">RAD</abbrev> prototype!
17+
With X, you can get from prototypes to production in hours, not weeks.
18+
19+
* **Batteries included, but swappable**
20+
21+
X provides everything you need to get started. We use a very composable
22+
architecture, so all the parts are swappable in case you need custom
23+
integrations.
24+
25+
* **Reuse where applicable, but accept some duplication**
26+
27+
Code reuse is great! But if applying <abbrev title="Don't repeat yourself">DRY</abbrev>
28+
involves too many abstractions, we would rather accept some duplication. We value simplicity
29+
as a core design principle.
30+
31+
* **Long-term support (LTS) and careful upgrade paths**
32+
33+
We're committed to providing long-term support (LTS) options and providing a smooth upgrade
34+
path between versions. We want to be the rock-solid foundation that you can build on top of.
35+
36+
* **Promote best practices, but don't enforce certain style**
37+
38+
We like <abbrev title="Domain-Driven Design">DDD</abbrev>, <abbrev title="Test-Driven Development">TDD</abbrev>,
39+
and more. If you don't, that's fine, we like choice. While we encourage following best
40+
practices and try to give recommendations, we don't enforce a certain style.
41+
42+
* **Runs anywhere**
43+
44+
We support the latest versions but we only require PHP 7.1+ for maximum compatibility to
45+
ensure X runs anywhere. From shared hosting to cloud-native!
46+
47+
* **Open and inclusive community**
48+
49+
Framework X is so much more than the sum of its parts. In particular, see our awesome [community](community.md).
50+
51+
## Architecture
52+
53+
* **HTTP request response semantics**
54+
55+
Framework X is all about handling [HTTP requests](../api/request.md) and sending back
56+
[ HTTP responses](../api/response.md).
57+
58+
* **PHP runs everywhere**
59+
60+
We know, PHP has its quirks. But it also provides a unique opportunity with its huge ecosystem
61+
that allows you to run X literally anywhere.
62+
63+
* **shared-nothing execution (optional)**
64+
65+
We support PHP's default shared-nothing execution model when running with
66+
[traditional stacks](../best-practices/deployment.md#traditional-stacks).
67+
68+
* **built-in web server (optional)**
69+
70+
If you're ready, get even more awesome features with its
71+
[built-in web server](../best-practices/deployment.md#built-in-web-server).
72+
73+
* **Async PHP**
74+
75+
We're standing on the shoulders of giants. Thank you [ReactPHP](https://reactphp.org/) for
76+
providing an awesome foundation!

docs/integrations/authentication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
>
55
> You're seeing an early draft of the documentation that is still in the works.
66
> Give feedback to help us prioritize.
7-
> We also welcome [contributors](../more/community.md) to help out!
7+
> We also welcome [contributors](../getting-started/community.md) to help out!
88
99
* HTTP Basic auth easy to implement
1010
* Implementation as HTTP [middleware](../api/middleware.md) recommended
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
>
55
> You're seeing an early draft of the documentation that is still in the works.
66
> Give feedback to help us prioritize.
7-
> We also welcome [contributors](../more/community.md) to help out!
7+
> We also welcome [contributors](../getting-started/community.md) to help out!
88
99
* Avoid blocking by moving blocking implementation to child process
1010
* Child process I/O for communication
1111
* Multithreading, but isolated processes
1212
* See [reactphp/child-process](https://reactphp.org/child-process/) for underlying APIs
13-
* See [clue/reactphp-pq](https://github.com/clue/reactphp-pq) for higher-level API to automatically wrap blocking functions in an async child process and turn blocking functions into non-blocking [promises](promises.md)
13+
* See [clue/reactphp-pq](https://github.com/clue/reactphp-pq) for higher-level API to automatically wrap blocking functions in an async child process and turn blocking functions into non-blocking [promises](../async/promises.md)

docs/integrations/database.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,15 +169,15 @@ database implementations.
169169
> described above. For legacy integrations, we provide limited support for
170170
> blocking database calls such as PDO, Doctrine, etc., but as a rule of thumb,
171171
> going for an async alternative is usually somewhat more efficient.
172-
> See [child processes](../async/child-processes.md) for more details.
172+
> See [child processes](child-processes.md) for more details.
173173
174174
## DBAL
175175

176176
> ⚠️ **Feature preview**
177177
>
178178
> This is a feature preview, i.e. it might not have made it into the current beta.
179179
> Give feedback to help us prioritize.
180-
> We also welcome [contributors](../more/community.md) to help out!
180+
> We also welcome [contributors](../getting-started/community.md) to help out!
181181
182182
There is ongoing effort to provide an async DBAL (DataBase Abstraction Layer)
183183
that will allow you to write your logic in such a way that it is not tied to a
@@ -794,7 +794,7 @@ structures to get you started:
794794
>
795795
> This is a feature preview, i.e. it might not have made it into the current beta.
796796
> Give feedback to help us prioritize.
797-
> We also welcome [contributors](../more/community.md) to help out!
797+
> We also welcome [contributors](../getting-started/community.md) to help out!
798798
799799
If you're using X behind a [traditional web server](../best-practices/deployment.md#traditional-stacks),
800800
there's nothing to worry about: PHP will process a single request and then clean

docs/integrations/filesystem.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
>
55
> You're seeing an early draft of the documentation that is still in the works.
66
> Give feedback to help us prioritize.
7-
> We also welcome [contributors](../more/community.md) to help out!
7+
> We also welcome [contributors](../getting-started/community.md) to help out!
88
99
* Async APIs with [Promises](../async/promises.md)
1010
* Avoid using blocking `fopen()`, `file_get_contents()` and family
1111
* Few blocking calls *can* be acceptable
1212
* See [reactphp/filesystem](https://github.com/reactphp/filesystem) for filesystem prototype
13-
* Avoid blocking filesystem by using [child process](../async/child-processes.md)
13+
* Avoid blocking filesystem by using [child process](child-processes.md)
1414
* See [clue/reactphp-s3](https://github.com/clue/reactphp-s3) for async S3 filesystem API (supporting Amazon S3, Ceph, MiniIO, DigitalOcean Spaces and others)

docs/integrations/queueing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
>
55
> You're seeing an early draft of the documentation that is still in the works.
66
> Give feedback to help us prioritize.
7-
> We also welcome [contributors](../more/community.md) to help out!
7+
> We also welcome [contributors](../getting-started/community.md) to help out!
88
99
* Common requirement to offload work from frontend to background workers
1010
* Major queue vendors supported already

docs/integrations/sessions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
>
55
> You're seeing an early draft of the documentation that is still in the works.
66
> Give feedback to help us prioritize.
7-
> We also welcome [contributors](../more/community.md) to help out!
7+
> We also welcome [contributors](../getting-started/community.md) to help out!
88
99
* Session handling common requirement and not hard to implement
1010
* Implementation as HTTP [middleware](../api/middleware.md) recommended

0 commit comments

Comments
 (0)