From 4bbda2d4c647092323194b7b7527b5ea480d8168 Mon Sep 17 00:00:00 2001 From: Louis Charette Date: Sat, 9 Nov 2024 19:37:13 -0500 Subject: [PATCH] Copilot Proofreading --- .../03.front-controller/docs.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pages/08.routes-and-controllers/03.front-controller/docs.md b/pages/08.routes-and-controllers/03.front-controller/docs.md index 0afa3466..06576001 100644 --- a/pages/08.routes-and-controllers/03.front-controller/docs.md +++ b/pages/08.routes-and-controllers/03.front-controller/docs.md @@ -6,9 +6,9 @@ taxonomy: category: docs --- -The front controller is a collective term for the **routes** that your web application defines for its various **endpoints**. This is how UserFrosting links urls and methods to your application's code. +The front controller is a collective term for the **routes** that your web application defines for its various **endpoints**. This is how UserFrosting links URLs and methods to your application's code. -Sprinkles define their routes in classes and register them in their Recipe. There are two ways to define a route - as a closure, or as a reference to a [controller class](/routes-and-controllers/controller-classes) method. We will use a simple closure example here to illustrate the concept, but for your application **you should create controller classes**. +Sprinkles define their routes in classes and register them in their Recipe. There are two ways to define a route - as a closure, or as a reference to a [controller class](/routes-and-controllers/controller-classes) method. We will use a simple closure example here to illustrate the concept, but for your application, **you should create controller classes**. The following is an example of a `GET` route: @@ -30,10 +30,10 @@ $app->get('/api/users/u/{username}', function (string $username, Request $reques This is a very simplified example, but it illustrates the main features of a route definition. First, there is the call to `$app->get()`. The `get` refers to the HTTP method for which this route is defined. You may also define `post()`, `put()`, `delete()`, `options()`, and `patch()` routes. -The first parameter is the url for the route. Routes can contain placeholders such as `{username}` to match arbitrary values in a portion of the url. These placeholders can even be matched according to regular expressions: see the [Slim documentation ](https://www.slimframework.com/docs/v4/objects/routing.html#route-placeholders) and [PHP-Di Slim's Bridge Documentation](https://php-di.org/doc/frameworks/slim.html#route-placeholder-injection) for a complete guide to url placeholders. +The first parameter is the URL for the route. Routes can contain placeholders such as `{username}` to match arbitrary values in a portion of the URL. These placeholders can even be matched according to regular expressions: see the [Slim documentation](https://www.slimframework.com/docs/v4/objects/routing.html#route-placeholders) and [PHP-DI Slim's Bridge Documentation](https://php-di.org/doc/frameworks/slim.html#route-placeholder-injection) for a complete guide to URL placeholders. -After the url comes the **closure**, where we place our actual route logic. In this example, the closure uses three parameters - a **placeholder** variable, the **request** object (which contains all the information from the client request) and the **response** object (which is used to build the response that the server sends back to the client). These parameters can vary from route to route. Behind the scenes, PHP-DI will intelligently inject the proper services and variables into the closure--more on that in a bit. +After the URL comes the **closure**, where we place our actual route logic. In this example, the closure uses three parameters - a **placeholder** variable, the **request** object (which contains all the information from the client request), and the **response** object (which is used to build the response that the server sends back to the client). These parameters can vary from route to route. Behind the scenes, PHP-DI will intelligently inject the proper services and variables into the closure--more on that in a bit. In the example above, we use the `username` placeholder to look up information for that user from the database. We then use the value of the `format` query parameter from the request to decide what to put in the response. You'll notice that the closure writes to the body of the `$response` object before returning. Slim will return the response to the client, perhaps first modifying it further through the use of [middleware](/advanced/middlewares). -For a more detailed guide to routes, we highly recommend that you read the [Slim documentation](https://www.slimframework.com/docs/v4/objects/routing.html) and and [PHP-Di Slim's Bridge Documentation](https://php-di.org/doc/frameworks/slim.html#why-use-php-dis-bridge). +For a more detailed guide to routes, we highly recommend that you read the [Slim documentation](https://www.slimframework.com/docs/v4/objects/routing.html) and [PHP-DI Slim's Bridge Documentation](https://php-di.org/doc/frameworks/slim.html#why-use-php-dis-bridge).