|
| 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! |
0 commit comments