phoenix-framework Tutorial
Erste Schritte mit dem Phoenix-Framework
Suche…
Bemerkungen
Dieser Abschnitt bietet einen Überblick über das, was phoenix-framework ist und warum ein Entwickler es verwenden möchte.
Es sollte auch alle großen Themen innerhalb des Phoenix-Frameworks erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für das Phoenix-Framework neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.
Versionen
Ausführung | Veröffentlichungsdatum |
---|---|
0,1,1 | 2014-05-01 |
0,2,0 | 2014-05-01 |
0,2,1 | 2014-05-01 |
0,2,2 | 2014-06-05 |
0,2,3 | 2014-05-05 |
0,2,10 | 2014-05-22 |
0,2.11 | 30.06.2014 |
0,3,0 | 2014-07-01 |
0,3,1 | 2014-07-05 |
0,4,0 | 2014-08-31 |
0,4,1 | 2014-09-09 |
0,5,0 | 2014-10-14 |
0,6,0 | 2014-11-22 |
0,6,1 | 2014-11-30 |
0,6,2 | 2014-12-08 |
0,7,0 | 2014-12-10 |
0,7,1 | 2014-12-10 |
0,7,2 | 2014-12-11 |
0,8,0 | 2015-01-11 |
0,9,0 | 2015-02-12 |
0,10,0 | 2015-03-08 |
0,11,0 | 2015-04-08 |
0,12,0 | 2015-05-01 |
0,13,0 | 2015-11-15 |
0,13,1 | 2015-05-17 |
0,14,0 | 2015-06-30 |
0,15,0 | 2015-07-27 |
0,16,0 | 2015-08-06 |
0,16,1 | 2015-08-06 |
0,17,1 | 2015-08-27 |
1.0.0 | 2015-08-28 |
1.0.1 | 2015-09-03 |
1.0.2 | 2015-09-07 |
1.0.3 | 2015-09-29 |
1.0.4 | 2015-12-15 |
1.1.0 | 2015-09-16 |
1.1.1 | 2015-09-27 |
1.1.2 | 2016-01-09 |
1.1.3 | 2016-01-20 |
v1.2.0-rc.0 | 2016-04-29 |
v1.2.0-rc.1 | 2016-05-25 |
1.2.0 | 2016-06-23 |
1.2.2 | 2017-03-14 |
1.2.3 | 2017-03-15 |
1.2.4 | 2017-05-16 |
1.3.0-rc.1 | 2017-03-15 |
1.3.0-rc.2 | 2017-05-16 |
Installation
Das Phoenix-Framework ist in Elixir geschrieben. Elixir selbst basiert auf der Sprache Erlang und nutzt die Erlang-VM, die dafür bekannt ist, Systeme mit niedriger Latenz, verteilte und fehlertolerante Systeme auszuführen. Für die Verwendung von Phoenix Framework sind beide Sprachen erforderlich. Folgender Schritt zur Installation von Phoenix Framework:
1. Installieren Sie Elixir auf Ihrem Computer. Siehe Elixir-Installation und Informationen zur Installation der Elixir-Anleitung .
2. Installieren Sie den Hex- Paketmanager. Hex ist ein notwendiges Werkzeug, um eine Phoenix-App zum Laufen zu bringen und um zusätzliche Abhängigkeiten zu installieren, die wir unterwegs benötigen. Geben Sie im Terminal- oder Befehlssteuerungsfenster Folgendes ein:
$ mix local.hex
Dieser Befehl wird Hex installieren oder aktualisieren, falls Sie dies bereits getan haben.
3. Installieren Sie Erlang auf Ihrem Computer. Ohne Erlang kann Elixir-Code nicht kompiliert werden, da Elixir die VM von Erlang für die Code-Kompilierung verwendet. Wenn Sie Elixir installieren, haben Sie wahrscheinlich auch Erlang installiert. Falls dies nicht der Fall ist, befolgen Sie diese Anweisungen in der Elixir-Anleitung, um Erlang zu installieren. Wenn Sie jedoch ein Debian-basiertes System haben, müssen Sie Erlang möglicherweise explizit installieren.
$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
$ sudo apt-get update
$ sudo apt-get install esl-erlang
4. Installieren Sie das Phoenix Framework auf Ihrem Computer. Sobald wir Elixir und Erlang haben, können wir das Phoenix Mix-Archiv installieren. Ein Mix-Archiv ist eine Zip-Datei, die eine Anwendung sowie die kompilierten BEAM-Dateien enthält. Sie ist an eine bestimmte Version der Anwendung gebunden. Das Archiv wird verwendet, um eine neue Basisanwendung von Phoenix zu erstellen, aus der wir erstellen können. Hier ist der Befehl zum Installieren des Phoenix-Archivs:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Sie können Pakete manuell herunterladen, wenn der obige Befehl für Sie nicht ordnungsgemäß funktioniert. Laden Sie Pakete in Ihr Dateisystem Phoenix-Archive herunter und führen Sie den folgenden Befehl aus
mix archive.install /path/to/local/phoenix_new.ez
5 Plug, Cowboy und Ecto sind Komponenten des Phoenix-Frameworks. Sie werden automatisch von mix installiert, wenn Sie mix ihre Abhängigkeiten installieren lassen, wenn Sie zum ersten Mal Phoenix-Projekte erstellen. Wenn Sie Mix nicht zulassen, dass diese Komponenten heruntergeladen werden, erfahren Sie später, wie dies geschehen soll.
6. Installieren Sie Node.js (nicht weniger als Version 5.0.0) auf Ihrem Computer. Dies ist eine optionale Abhängigkeit. Zur Installation der Abhängigkeiten von brunch.io ist Node.js erforderlich. Brunch.io wird von Phoenix standardmäßig zum Kompilieren statischer Assets (Javascript, CSS usw.) verwendet.
Wir können node.js von der Download-Seite erhalten . Bei der Auswahl eines Pakets zum Herunterladen ist zu beachten, dass Phoenix Version 5.0.0 oder höher benötigt.
Benutzer von Mac OS X können node.js auch über Homebrew installieren.
Hinweis: io.js, eine npm-kompatible Plattform, die ursprünglich auf Node.js basiert, funktioniert nicht mit Phoenix.
Debian / Ubuntu-Benutzer sehen möglicherweise einen Fehler, der wie folgt aussieht:
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
Dies liegt daran, dass Debian in Konflikt stehende Binärdateien für Knoten hat: siehe die folgende SO-Frage
Pakete können nicht mit dem Knotenpaket-Manager in Ubuntu installiert werden
Es gibt zwei Möglichkeiten, dieses Problem zu beheben:
Installiere nodejs-Legacy:
$ apt-get install nodejs-legacy
oder erstellen Sie einen Symlink
$ ln -s /usr/bin/nodejs /usr/bin/node
7 Installieren Sie die Datenbank ( PostgreSQL ) auf Ihrem Computer. Phoenix konfiguriert Anwendungen standardmäßig so, dass sie standardmäßig verwendet wird. Wir können jedoch zu MySQL wechseln, indem --database mysql
beim Erstellen einer neuen Anwendung das --database mysql
Flag --database mysql
. Das PostgreSQL-Wiki enthält Installationsanleitungen für verschiedene Systeme.
Postgrex ist eine direkte Abhängigkeit von Phoenix und wird zur Erstellung von Modellen verwendet. Postgrex wird automatisch zusammen mit den übrigen Abhängigkeiten installiert, wenn Sie das Phoenix-Projekt erstellen und starten.
8 inotify-tools (für Linux-Benutzer) Hierbei handelt es sich um ein Linux-only-Dateisystem-Watcher, das Phoenix für das Live-Laden von Code verwendet. (Benutzer von Mac OS X oder Windows können dies ignorieren.)
Linux-Benutzer müssen diese Abhängigkeit installieren. Bitte konsultieren Sie das inotify-tools-Wiki, um eine verteilungsspezifische Installationsanweisung zu erhalten.
Skeleton Installation
Manchmal möchten Sie eine Installation ohne etwas anderes als die minimale Phönix-Installation. Der folgende Befehl gibt Ihnen das.
mix phoenix.new web --no-brunch --no-ecto
Hinweis: Sie müssen Elixir, Erlang, Hex, Mix und das Phoenix-Archiv für die Skeleton-Installation installiert haben
Phoenix-Projekt erstellen
Für Ihr erstes Projekt in Phoenix Rahmen an dieser Stelle zu schaffen , sollten Sie haben, Elixir, Erlang, Hex und das installierte Phoenix - Archiv. Sie sollten auch PostgreSQL und node.js installiert haben, um eine Standardanwendung zu erstellen.
Öffnen Sie das Terminal oder die Eingabeaufforderung, und navigieren Sie zu dem Ort in Ihrem Dateisystem, an dem Sie die Anwendung erstellen möchten. phoenix.new
ist der Mix-Befehl, der ein neues Projekt für Sie erstellt. Angenommen, der Name unserer Anwendung lautet hello_phoenix_world
, und geben Sie dann ein
$ mix phoenix.new hello_phoenix_world
Alternativ können wir mix phoenix.new in einem beliebigen Verzeichnis ausführen, um unsere Phoenix-Anwendung zu booten. Phoenix akzeptiert entweder einen absoluten oder einen relativen Pfad für das Verzeichnis unseres neuen Projekts
$ mix phoenix.new /Users/username/work/elixir-projects/hello_phoenix_world
Ausgabe
mix phoenix.new hello_phoenix_world
* creating hello_phoenix_world/config/config.exs
* creating hello_phoenix_world/config/dev.exs
* creating hello_phoenix_world/config/prod.exs
...
* creating hello_phoenix_world/web/views/layout_view.ex
* creating hello_phoenix_world/web/views/page_view.ex
Fetch and install dependencies? [Yn]
Phoenix erstellt die Verzeichnisstruktur für Ihr Projekt und erstellt alle für die Anwendung erforderlichen Dateien. Mix fragt Sie, ob Sie andere erforderliche Abhängigkeiten installieren möchten. Sagen wir ja dazu.
Fetch and install dependencies? [Yn] Y
* running mix deps.get
* running npm install && node node_modules/brunch/bin/brunch build
Nach der Installation von Abhängigkeiten werden Sie aufgefordert, in unser Projektverzeichnis zu wechseln und die Anwendung zu starten.
Move into your new project folder:
$cd hello_phoenix_world
Sie müssen jetzt den Postgres-Benutzernamen und das Kennwort einrichten, sofern er nicht bereits mit dem Standardbenutzer- und Postgres-Kennwort eingerichtet wurde. Bearbeiten Sie Ihre config/dev.exs
Datei und legen Sie den Benutzernamen und das Passwort fest:
# config/dev.exs
config :hello_phoenix_world, HelloPhoenixWorld.Repo,
adapter: Ecto.Adapters.Postgres,
username: "postgres",
password: "postgres",
database: "hello_phoenix_world_dev",
hostname: "localhost",
pool_size: 10
Now, create the database with the ecto mix task:
$ mix ecto.create
We have a working application! Run your Phoenix application:
$ mix phoenix.server
You can also run your app inside IEx (Interactive Elixir) as:
$ iex -S mix phoenix.server
Load `http://localhost:4000` into your browser and you will see the default landing page of your application.
Jetzt können wir der Phoenix-Anwendung eine hallo-Welt hinzufügen. Öffnen Sie die Datei web/templates/page/index.html.eex
, ersetzen Sie den Inhalt durch Folgendes und speichern Sie die Datei:
<h2>Hello World</h2>
Wenn Sie den Server nicht beendet haben, wird der neue Code automatisch kompiliert und Ihr Browser sollte jetzt die Meldung "Hello World" anzeigen.
Sie können jetzt eine CRUD-Ressource erstellen .
ctrl-c
zum Verlassen des Servers zum ctrl-c
zweimal hintereinander ctrl-c
crtl-c
(drücken Sie die control key
und die c
Taste).
Elixir / Phoenix unter OSX ausführen
Elixier / Phoenix
Installieren Sie zuerst Homebrew :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Bei der Ausführung von brew install elixir
werden dann sowohl Elixir als auch seine Abhängigkeit installiert - Erlang.
Mix mit mix local.hex
.
Installieren Sie Phoenix gemäß den Anweisungen:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Node.js
Sie können Ihre Node.js-Versionen mit NVM installieren und verwalten. Installiere nvm mit:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
Wenn curl
nicht verfügbar ist, können Sie es mit brew install curl
. Dann renne:
nvm install node
Herunterladen und Kompilieren der neuesten Version von Node.js.
Datenbank
Laden Sie Postgres.app herunter und führen Sie es aus. Wenn Sie Ihr Phoenix-Projekt in Ihrer Datei config/dev.exs
erstellen, müssen Sie nur einen Namen für Ihre Datenbank config/dev.exs
Der Adapter verwendet für den Rest Standardwerte:
config :myphoenixapp, MyPhoenixApp.Repo,
adapter: Ecto.Adapters.Postgres,
database: "myphoenixapp_dev",
hostname: "localhost",
pool_size: 10
Ressourcen für ein Modell generieren
Um Schema, Ansicht, Controller, Migrationsdatei für das Repository, Standard-CRUD-Vorlagen und Testdateien für ein Modell (wie ein Gerüst in Rails) zu phoenix.gen.html
können Sie die phoenix.gen.html
Task wie phoenix.gen.html
:
mix phoenix.gen.html Book books title note:text pages:integer author_id:references:authors
Wo Book
der Modulname ist, sind books
Pluralformen, die für ein Schema verwendet werden, gefolgt von Ressourcenfeldern: title
(standardmäßig Zeichenfolge), note
(Textfeld), pages
(Ganzzahl), author_id
, wodurch eine belongs_to
zu Autor erstellt wird.