Phoenix Playground makes it easy to create single-file Phoenix applications.
Create a demo_live.exs file:
Mix.install([
  {:phoenix_playground, "~> 0.1.8"}
])
defmodule DemoLive do
  use Phoenix.LiveView
  def mount(_params, _session, socket) do
    {:ok, assign(socket, count: 0)}
  end
  def render(assigns) do
    ~H"""
    <span>{@count}</span>
    <button phx-click="inc">+</button>
    <style type="text/css">
      body { padding: 1em; }
    </style>
    """
  end
  def handle_event("inc", _params, socket) do
    {:noreply, assign(socket, count: socket.assigns.count + 1)}
  end
end
PhoenixPlayground.start(live: DemoLive)and run it:
$ iex demo_live.exs
See more examples below:
examples/demo_live.exsexamples/demo_live_test.exsexamples/demo_controller.exsexamples/demo_controller_test.exsexamples/demo_plug.exsexamples/demo_router.exsexamples/demo_hooks.exsexamples/demo_endpoint.exsexamples/demo_live_pubsub.exs
Copyright (c) 2024 Wojtek Mach
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
