Referință rapidă

Ghid rapid Phoenix Framework

Ghid rapid de referinta pentru Phoenix in Elixir: pornire rapida, structura directoarelor, rutare, conducte Plug.Conn si controlere.

· Publicat

Phoenix este un cadru web productiv si robust construit pe masina virtuala BEAM a Elixir si Erlang.

Pornire rapidă (Quickstart)

# Instalare manager pachete Hex si Phoenix installer
mix local.hex
mix archive.install hex phx_new

# Generare aplicatie noua Phoenix cu PostgreSQL
mix phx.new my_app

# Pornire server de dezvoltare
mix phx.server

Structura directoarelor (Application Directory Layout)

my_app/
├── assets/          # Resurse frontend (esbuild, Tailwind CSS)
├── config/          # Configurare mediu (dev, test, prod)
├── lib/
│   ├── my_app/      # Logica de afaceri si scheme Ecto
│   ├── my_app.ex
│   └── my_app_web/  # Nivelul web (controlere, vizualizari, router)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Migrari de baza de date
└── test/            # Suite de teste ExUnit

Controlere și conducte (Controllers & Pipelines)

Phoenix foloseste Plug.Conn ca structura unificata de transformare 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

Generatoare și contexte (Generators & Contexts)

# Generare CRUD HTML complet, schema si controler
mix phx.gen.html Accounts User users name:string email:string:unique

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

# Rulare migrari baza de date
mix ecto.migrate

Referinte conexe

Subiecte conexe