Referencia rápida

Hoja de referencia de Phoenix Framework

Guia rapida y completa para Phoenix en Elixir: inicio rapido, estructura de carpetas, enrutamiento, tuberias Plug.Conn, controladores y generadores.

· Publicado

Phoenix es un framework web productivo y altamente confiable construido sobre Elixir y el runtime BEAM de Erlang.

Inicio rápido (Quickstart)

# Instalar gestor de paquetes Hex y archivo de Phoenix
mix local.hex
mix archive.install hex phx_new

# Generar nueva aplicacion Phoenix con PostgreSQL
mix phx.new my_app

# Iniciar el servidor de desarrollo interactivo
mix phx.server

Estructura de directorios (Application Directory Layout)

my_app/
├── assets/          # Recursos frontend (esbuild, Tailwind CSS)
├── config/          # Configuracion de entorno (dev, test, prod)
├── lib/
│   ├── my_app/      # Logica de dominio de negocio y esquemas Ecto
│   ├── my_app.ex
│   └── my_app_web/  # Capa de presentacion web (controladores, vistas, router)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Migraciones de base de datos y fixtures
└── test/            # Suites de pruebas ExUnit

Controladores y canalizaciones (Controllers & Pipelines)

Phoenix utiliza Plug.Conn como estructura unificada de transformacion 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

Generadores y contextos (Generators & Contexts)

# Generar contexto CRUD HTML completo, esquema y controlador
mix phx.gen.html Accounts User users name:string email:string:unique

# Generar recursos de API JSON
mix phx.gen.json Catalog Product products title:string price:decimal

# Ejecutar migraciones de base de datos
mix ecto.migrate

Referencias relacionadas

Temas relacionados