Riferimento rapido

Foglio di riferimento Phoenix Framework

Guida di riferimento completa per Phoenix in Elixir: guida rapida, struttura directory, routing, pipeline Plug.Conn e controller.

· Pubblicato

Phoenix e un framework web produttivo e affidabile sviluppato sull'ambiente BEAM di Elixir ed Erlang.

Guida rapida (Quickstart)

# Installare il gestore di pacchetti Hex e l'installer Phoenix
mix local.hex
mix archive.install hex phx_new

# Generare nuova applicazione Phoenix con PostgreSQL
mix phx.new my_app

# Avviare il server di sviluppo interattivo
mix phx.server

Struttura delle directory (Application Directory Layout)

my_app/
├── assets/          # Asset frontend (esbuild, Tailwind CSS)
├── config/          # Configurazione dell'ambiente (dev, test, prod)
├── lib/
│   ├── my_app/      # Logica di business e schemi Ecto
│   ├── my_app.ex
│   └── my_app_web/  # Livello web (controller, viste, router)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Migrazioni del database e dati di seed
└── test/            # Suite di test ExUnit

Controller e pipeline (Controllers & Pipelines)

Phoenix utilizza Plug.Conn come struct unificata di trasformazione HTTP:

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

Generatori e contesti (Generators & Contexts)

# Generare CRUD HTML completo, schema e controller
mix phx.gen.html Accounts User users name:string email:string:unique

# Generare risorse per API JSON
mix phx.gen.json Catalog Product products title:string price:decimal

# Eseguire le migrazioni del database
mix ecto.migrate

Riferimenti correlati

Argomenti correlati