4

Working with Controllers

In the previous chapter, we learned how to use the Plug package to simplify a pipeline of operations that are applied to an HTTP connection, represented by the %Plug.Conn{} struct. We also learned how we can leverage the Plug.Router plug to handle a request matching an HTTP method and path. In this chapter, we will take our Plug knowledge to the next level by applying the same philosophy (of updating a connection struct in a pipeline) to implement a controller. We will also take a quick look at how Phoenix implements its controllers and take inspiration from that to build our own controllers. Before doing any of that, however, we will learn what controllers are in a Model-View-Controller (MVC) framework and understand ...

Get Build Your Own Web Framework in Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.