Kurzreferenz

Phoenix Framework Spickzettel

Umfassender Referenzleitfaden fuer Phoenix in Elixir: Quickstart, Projektstruktur, Routing, Plug.Conn-Pipelines und Generatoren.

· Veröffentlicht

Phoenix ist ein produktives und zuverlaessiges Web-Framework fuer die Elixir- und Erlang BEAM-Laufzeitumgebung.

Schnellstart (Quickstart)

# Hex-Paketmanager und Phoenix-Installer installieren
mix local.hex
mix archive.install hex phx_new

# Neue Phoenix-Applikation mit PostgreSQL generieren
mix phx.new my_app

# Interaktiven Entwicklungsserver starten
mix phx.server

Projektverzeichnis-Layout (Application Directory Layout)

my_app/
├── assets/          # Frontend-Assets (esbuild, Tailwind CSS)
├── config/          # Umgebungskonfiguration (dev, test, prod)
├── lib/
│   ├── my_app/      # Kerngeschaeftslogik und Ecto-Schemas
│   ├── my_app.ex
│   └── my_app_web/  # Web-Praesentationsschicht (Controller, Views, Router)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Datenbankmigrationen und Seed-Daten
└── test/            # ExUnit-Testsuites

Controller und Pipelines (Controllers & Pipelines)

Phoenix nutzt Plug.Conn als einheitliche HTTP-Transformationsstruktur:

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

Generatoren und Kontexte (Generators & Contexts)

# Vollstaendigen HTML-CRUD-Kontext, Schema und Controller generieren
mix phx.gen.html Accounts User users name:string email:string:unique

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

# Datenbankmigrationen ausfuehren
mix ecto.migrate

Verwandte Referenzen

Verwandte Themen