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
Copy file name to clipboardExpand all lines: distribution/index.md
+18-18Lines changed: 18 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
>
7
7
> —Fabien Potencier (creator of Symfony)
8
8
9
-
[API Platform](https://api-platform.com) is a powerful yet easy to use **full stack** framework dedicated to API-driven projects and implementing the [Jamstack](https://jamstack.org/) architecture.
9
+
[API Platform](https://api-platform.com) is a powerful yet easy-to-use **full stack** framework dedicated to API-driven projects and implementing the [Jamstack](https://jamstack.org/) architecture.
10
10
11
11
## Introduction
12
12
@@ -30,12 +30,12 @@ The easiest and most powerful way to get started is [to download the API Platfor
30
30
31
31
To discover how the framework works, we will create an API to manage a bookshop.
32
32
33
-
To create a fully featured API, an admin interface and a Progressive Web App using Next.js, all you need is to design **the public data
33
+
To create a fully featured API, an admin interface, and a Progressive Web App using Next.js, all you need is to design **the public data
34
34
model of our API** and handcraft it as *Plain Old PHP Objects*.
35
35
36
36
API Platform uses these model classes to expose and document a web API having a bunch of built-in features:
37
37
38
-
* creating, retrieving, updating and deleting (CRUD) resources
38
+
* creating, retrieving, updating, and deleting (CRUD) resources
39
39
* data validation
40
40
* pagination
41
41
* filtering
@@ -51,7 +51,7 @@ API Platform uses these model classes to expose and document a web API having a
51
51
52
52
One more thing, before we start: as the API Platform distribution includes [the Symfony framework](https://symfony.com),
53
53
it is compatible with most [Symfony bundles](https://flex.symfony.com)
54
-
(plugins) and benefits from [the numerous extensions points](../core/extending.md) provided by this rock-solid foundation (events, Dependency Injection Container...).
54
+
(plugins) and benefits from [the numerous extension points](../core/extending.md) provided by this rock-solid foundation (events, Dependency Injection Container...).
55
55
Adding features like custom or service-oriented API endpoints, JWT or OAuth authentication, HTTP caching, mail sending or
56
56
asynchronous jobs to your APIs is straightforward.
57
57
@@ -73,26 +73,26 @@ Similarly, on Windows, only [Docker for Windows](https://docs.docker.com/docker-
73
73
Open a terminal, and navigate to the directory containing your project skeleton. Run the following command to start all
74
74
services using [Docker Compose](https://docs.docker.com/compose/):
75
75
76
-
Download the latest versions of the images:
76
+
Build the images:
77
77
78
78
```console
79
-
docker compose pull --include-deps
79
+
docker compose build --no-cache
80
80
```
81
81
82
-
Then build images and Start Docker Compose in detached mode:
82
+
Then, start Docker Compose in detached mode:
83
83
84
84
```console
85
-
docker compose up --wait
85
+
docker compose up --pull --wait
86
86
```
87
87
88
-
**Tip:**be sure that the ports `80`, `443` and `5432` of the host are not already in use. The usual offenders are Apache, NGINX and Postgres. If they are running, stop them and run `docker compose up --wait` again.
88
+
**Tip:**Be sure that the ports `80`, `443`, and `5432` of the host are not already in use. The usual offenders are Apache, NGINX, and Postgres. If they are running, stop them and run `docker compose up --wait` again.
| caddy |[Caddy web server](caddy.md) with the [Mercure](../core/mercure.md) (real-time and async) and [Vulcain](https://vulcain.rocks) (relations preloading) modules |
95
-
| php | The API with PHP 8, Composer and sensitive configs |
95
+
| php | The API with PHP 8, Composer, and sensitive configs |
96
96
| pwa | Next.js project compatible with Create Client and having Admin preinstalled |
97
97
| database | PostgreSQL database server |
98
98
@@ -122,19 +122,19 @@ you'll get auto-completion for almost everything and awesome quality analysis.
122
122
123
123
[PHP IntelliSense for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=zobo.php-intellisense) also works well, and is free and open source.
124
124
125
-
The API Platform distribution comes with a dummy entity for test purpose: `api/src/Entity/Greeting.php`. We will remove
125
+
The API Platform distribution comes with a dummy entity for test purposes: `api/src/Entity/Greeting.php`. We will remove
126
126
it later.
127
127
128
128
If you're used to the PHP ecosystem, you probably guessed that this test entity uses the industry-leading [Doctrine ORM](https://www.doctrine-project.org/projects/orm.html)
129
-
library as persistence system. It is shipped, in the API Platform distribution.
129
+
library as a persistence system. It is shipped, in the API Platform distribution.
130
130
131
131
Doctrine ORM is the easiest way to persist and query data in an API Platform project thanks to the bridge shipped with the
132
132
distribution, but it's also entirely optional, and [you may prefer to plug your own persistence system](../core/design.md).
133
133
134
134
The Doctrine Bridge is optimized for performance and development convenience. For instance, when using Doctrine, API Platform
135
135
is able to automatically optimize the generated SQL queries by adding the appropriate `JOIN` clauses. It also provides a
136
136
lot of powerful [built-in filters](../core/filters.md).
137
-
Doctrine ORM and its bridge support most popular RDBMS including PostgreSQL, MySQL, MariaDB, SQL Server, Oracle and SQLite.
137
+
Doctrine ORM and its bridge support the most popular RDBMS including PostgreSQL, MySQL, MariaDB, SQL Server, Oracle and SQLite.
138
138
There is also a shipped [Doctrine MongoDB ODM](https://www.doctrine-project.org/projects/mongodb-odm.html) optional support.
139
139
140
140
That being said, keep in mind that API Platform is 100% independent of the persistence system. You can use the one(s) that
@@ -744,7 +744,7 @@ occurs**.
744
744
745
745
## A Next.js Web App
746
746
747
-
API Platform also has an awesome [client generator](../create-client/index.md) able to scaffold fully working Next.js, Nuxt.js, React/Redux, Vue.js, Quasar and Vuetify Progressive Web Apps that you can easily tune and customize. The generator also supports
747
+
API Platform also has an awesome [client generator](../create-client/index.md) able to scaffold fully working Next.js, Nuxt.js, React/Redux, Vue.js, Quasar, and Vuetify Progressive Web Apps that you can easily tune and customize. The generator also supports
748
748
[React Native](https://facebook.github.io/react-native/) if you prefer to leverage all capabilities of mobile devices.
749
749
750
750
The distribution comes with a skeleton ready to welcome the [Next.js](https://nextjs.org/) flavor of the generated code. To bootstrap your app, run:
@@ -780,16 +780,16 @@ Then, there are many more features to learn! Read [the full documentation](../co
780
780
and how to extend API Platform to fit your needs.
781
781
API Platform is incredibly efficient for prototyping and Rapid Application Development (RAD), but the framework is mostly
782
782
designed to create complex API-driven projects, far beyond simple CRUD apps. It benefits from [**strong extension points**](../core/extending.md)
783
-
and it is **continuously optimized for [performance](../core/performance.md).** It powers numerous hightraffic websites.
783
+
and it is **continuously optimized for [performance](../core/performance.md).** It powers numerous high-traffic websites.
784
784
785
-
API Platform has a built-in HTTP cache invalidation system which allows to make API Platform apps blazing fast using [Varnish](https://varnish-cache.org/). Read more in the chapter
785
+
API Platform has a built-in HTTP cache invalidation system which allows making API Platform apps blazing fast using [Varnish](https://varnish-cache.org/). Read more in the chapter
Keep in mind that you can use your favorite client-side technology: API Platform provides generators for popular JavaScript frameworks, but you can also use your preferred client-side technology including Angular, Ionic and Swift directly. Any language able to send HTTP
788
+
Keep in mind that you can use your favorite client-side technology: API Platform provides generators for popular JavaScript frameworks, but you can also use your preferred client-side technology including Angular, Ionic, and Swift directly. Any language able to send HTTP
789
789
requests is OK (even COBOL can do that).
790
790
791
791
To go further, the API Platform team maintains a demo application showing more advanced use cases like leveraging serialization
792
-
groups, user management or JWT and OAuth authentication. [Checkout the demo code source on GitHub](https://github.com/api-platform/demo)
792
+
groups, user management, or JWT and OAuth authentication. [Checkout the demo code source on GitHub](https://github.com/api-platform/demo)
793
793
and [browse it online](https://demo.api-platform.com).
0 commit comments