Snelle referentie

Phoenix Framework Spiekbrief

Korte handleiding voor Phoenix in Elixir: quickstart, projectstructuur, routing, Plug.Conn-pipelines en controllers.

· Gepubliceerd

Phoenix is een productief en betrouwbaar webframework gebouwd op de Elixir- en Erlang BEAM-runtime.

Aan de slag (Quickstart)

# Installeer Hex package manager en Phoenix installer
mix local.hex
mix archive.install hex phx_new

# Genereer nieuwe Phoenix-applicatie met PostgreSQL
mix phx.new my_app

# Start de interactieve ontwikkelserver
mix phx.server

Mappenstructuur (Application Directory Layout)

my_app/
├── assets/          # Frontend-assets (esbuild, Tailwind CSS)
├── config/          # Omgevingsconfiguratie (dev, test, prod)
├── lib/
│   ├── my_app/      # Zakelijke domeinlogica en Ecto-schema's
│   ├── my_app.ex
│   └── my_app_web/  # Webpresentatielaag (controllers, views, router)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Databasemigraties en testdata
└── test/            # ExUnit testsuites

Controllers en pipelines (Controllers & Pipelines)

Phoenix gebruikt Plug.Conn als uniforme HTTP-transformatie-struct:

defmodule MyAppWeb.UserController do
  use MyAppWeb, :controller

  def show(conn, %{"id" => id}) do
    user = MyApp.Accounts.get_user!(id)

    conn
    |> put_status(200)
    |> render("show.html", user: user)
  end

  def api_index(conn, _params) do
    users = MyApp.Accounts.list_users()
    json(conn, %{data: users})
  end
end

Generators en contexten (Generators & Contexts)

# Genereer volledige HTML CRUD-context, schema en controller
mix phx.gen.html Accounts User users name:string email:string:unique

# Genereer JSON API-bronnen
mix phx.gen.json Catalog Product products title:string price:decimal

# Voer databasemigraties uit
mix ecto.migrate

Gerelateerde referenties

Verwante onderwerpen