Phalcon-Projekt erstellen und ausführen
Was ist Phalcon?
Phalcon ist ein Open-Source PHP-Webframework mit hoher Performance, das in Form einer C-Erweiterung bereitgestellt wird. Durch diese einzigartige Implementierung verbraucht Phalcon enorm wenig Systemressourcen bei gleichzeitig hoher Ausführungsgeschwindigkeit – deutlich schneller als herkömmliche PHP-Frameworks. Es folgt dem MVC-Prinzip (Model-View-Controller) und stellt Entwicklern ein umfangreiches Set an Komponenten bereit, darunter ORM (Object-Relational Mapping), Template-Engine, Routing, Caching, Event-Manager und mehr. Damit können leistungsfähige und flexible Webanwendungen oder APIs optimal entwickelt werden.
Hauptmerkmale und Vorteile von Phalcon
- Hervorragende Performance: Durch die Implementierung als C-Erweiterung umgeht Phalcon die übliche Scriptverarbeitung und -belastung von PHP und erreicht nativen Geschwindigkeit.
- Ressourcensparend: Extrem geringer Speicherbedarf – ideal für Anwendungen mit hohem Performance- und Skalierbarkeitsanspruch.
- Umfangreiche Features: Die wichtigsten Kernkomponenten für die Entwicklung moderner Webanwendungen sind direkt integriert, wodurch Abhängigkeiten zu externen Libraries minimiert werden.
- Einfache Bedienung: Übersichtliche, konsistente APIs und exzellente Dokumentation ermöglichen auch Einsteigern einen schnellen Start mit Phalcon.
- Hohe Modularität: Die Komponenten sind entkoppelt, sodass Entwickler sie je nach Projektanforderung selektiv einsetzen oder austauschen können.
- Sicherheit: Zahlreiche Sicherheitsfunktionen, wie Input-Filter, CSRF-Schutz usw., sind bereits enthalten.
Phalcon ist daher die optimale Wahl für skalierbare Hochleistungs-Webanwendungen und APIs – besonders wenn Geschwindigkeit und effiziente Nutzung von Ressourcen entscheidend sind.
Erstellung und Ausführung eines Phalcon-Projekts mit ServBay
ServBay ist eine lokale Webentwicklungsumgebung speziell für macOS, die verschiedene Versionen von PHP, Datenbanken (wie MySQL, PostgreSQL, MongoDB, Redis), Webserver (Caddy, Nginx, Apache) und weitere Entwicklertools gebündelt bereitstellt. Sie können mit ServBay mühelos alle nötigen Voraussetzungen für ein Phalcon-Projekt aufsetzen und verwalten.
Diese Anleitung führt Sie Schritt für Schritt durch die Erstellung eines grundlegenden Phalcon-Projekts mit ServBay – inklusive Konfiguration des Webservers, Einbindung einer relationalen Datenbank (MySQL) sowie einer NoSQL-Variante (Redis).
Voraussetzungen
Bitte stellen Sie sicher, dass folgende Bedingungen erfüllt sind, bevor Sie beginnen:
- ServBay ist installiert und läuft: Vergewissern Sie sich, dass ServBay auf Ihrem macOS-System erfolgreich installiert und gestartet wurde.
- Gewünschte PHP-Version ist aktiviert: Die von Ihnen benötigte PHP-Version muss innerhalb von ServBay aktiviert sein.
- Phalcon-Modul ist aktiviert: ServBay beinhaltet Phalcon standardmäßig, es ist aber möglicherweise nicht sofort aktiv. Aktivieren Sie die passende Phalcon-Version laut Phalcon-Modul in ServBay aktivieren und starten Sie den PHP-Dienst anschließend neu.
- Composer ist verfügbar: ServBay liefert Composer bereits mit; Sie müssen Composer also nicht gesondert installieren. Überprüfen Sie, ob Sie den
composer
-Befehl im Terminal nutzen können.
Unterschiedliche Phalcon- und DevTools-Versionen
Die Kompatibilität der Phalcon-Version und der zugehörigen DevTools richtet sich nach Ihrer eingesetzten PHP-Version. Die folgende Tabelle gibt eine Übersicht über empfohlene Versionen für die jeweils gängigen PHP-Versionen:
PHP-Version | Empfohlene Phalcon-Version | Empfohlene Phalcon DevTools-Version | Hinweise |
---|---|---|---|
PHP 5.6, 7.0, 7.1 | Phalcon 3.4.5 | 3.4.x | |
PHP 7.2, 7.3, 7.4 | Phalcon 4.1.2 | ~4.1 (oder 4.3.x ) | |
PHP 8.0, 8.1, 8.2 | Phalcon 5.x | 5.0.x (offiziell) | Kann mit der offiziellen DevTools-Version Kompatibilitätsprobleme geben. |
PHP 8.3, 8.4 | Phalcon 5.x | dev-master (gepatchtes Repo) | Nutzen Sie die Community-Version für bessere Kompatibilität. |
Wichtiger Hinweis: Bei PHP 8.x und neuer kann es mit den offiziellen Phalcon DevTools zu Problemen kommen. Empfohlen wird, die bereitgestellte Patch-Version aus der Community zu verwenden. Wie Sie diese via Composer einrichten, wird weiter unten gezeigt.
Phalcon-Projekt erstellen
Tipp zum Speicherort
Zur besseren Verwaltung empfiehlt ServBay, alle Projekte im Standard-Webverzeichnis /Applications/ServBay/www
abzulegen. Das folgende Beispiel nutzt ebenfalls dieses Verzeichnis.
Wechseln Sie ins Webverzeichnis und legen Sie den Projektordner an
Öffnen Sie das Terminal, navigieren Sie ins ServBay-Webverzeichnis und erstellen Sie einen neuen Ordner für Ihr Phalcon-Projekt (hier z.B.
servbay-phalcon-app
):bashcd /Applications/ServBay/www mkdir servbay-phalcon-app cd servbay-phalcon-app
1
2
3Phalcon DevTools installieren
Die Phalcon DevTools sind ein Set von Kommandozeilenwerkzeugen, mit denen Sie u.a. Projektgerüste und Datenbankmigrationen erzeugen. Die Installation erfolgt mit Composer. Der erforderliche Befehl richtet sich nach Ihrer PHP-Version:
Für PHP 5.6, 7.0, 7.1 (Phalcon DevTools
^3.4
):bashcomposer require phalcon/devtools:"^3.4"
1Für PHP 7.2, 7.3, 7.4 (Phalcon DevTools
~4.1
):bashcomposer require phalcon/devtools:"~4.1"
1Für PHP 8.0, 8.1, 8.2, 8.3, 8.4 (Phalcon DevTools
dev-master
, Community-Fix): Da es mit der offiziellen Version Probleme geben kann, sollte die gefixte Community-Variante installiert werden. Erstellen/bearbeiten Sie dafür im Wurzelverzeichnis (/Applications/ServBay/www/servbay-phalcon-app
) einecomposer.json
und fügen Sie das Repository sowie die Requirement ein:json{ "repositories": [ { "url": "https://github.com/daleffe/phalcon-devtools-5.x-fixed.git", "type": "git" } ], "require": { "phalcon/devtools": "dev-master" }, "minimum-stability": "dev", "prefer-stable": true }
1
2
3
4
5
6
7
8
9
10
11
12
13Danach installieren Sie DevTools mit:
bashcomposer update
1
Nach der Installation finden Sie das DevTools-Kommandozeilentool unter
vendor/bin/phalcon
im Projektverzeichnis.Projektgerüst mit Phalcon DevTools erstellen
Mithilfe des soeben installierten Tools erzeugen Sie nun die Grundstruktur für Ihr Phalcon-Projekt. Der eigentliche Code befindet sich in einem Unterverzeichnis (standardmäßig gleichnamig):
bashvendor/bin/phalcon project servbay-phalcon-app
1Dadurch wird ein neues Unterverzeichnis
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
mit der vorgefertigten Projektstruktur angelegt.Wechseln Sie in das Projektverzeichnis
Navigieren Sie ins Verzeichnis mit dem Anwendungscode – die nächsten Schritte erfolgen darin:
bashcd servbay-phalcon-app
1Sie befinden sich nun unter
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
.
Projekteinstellungen konfigurieren
Die Konfiguration Ihres Phalcon-Projekts finden Sie in der Regel in der Datei app/config/config.php
. Hier darunter fällt u.a. die Datenbankanbindung und wichtige Pfade.
Bearbeiten Sie die Konfigurationsdatei
Öffnen Sie
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/config.php
mit Ihrem Editor. Ergänzen oder korrigieren Sie den Bereich für die Datenbankparameter. In ServBay ist der Standardnutzer für MySQL/MariaDBroot
, das Passwort leer – aus Sicherheitsgründen wird jedoch ein starkes Passwort empfohlen (hier alspassword
-Platzhalter). Der Datenbankname im Beispiel istservbay_phalcon_app
(bitte vorher anlegen bzw. Name anpassen).phpreturn new \Phalcon\Config([ // ... andere Konfigurationen ... 'database' => [ 'adapter' => 'Mysql', // oder 'Postgres' etc. 'host' => '127.0.0.1', 'username' => 'root', // Standardnutzer in ServBay 'password' => 'password', // <-- Hier Ihr Passwort eintragen 'dbname' => 'servbay_phalcon_app', // <-- Ihre DB angeben ], // ... andere Konfigurationen ... ]);
1
2
3
4
5
6
7
8
9
10
11Wichtig: Stellen Sie sicher, dass der Datenbankdienst (z.B. MySQL, MariaDB) in ServBay läuft und die Benutzer-/Zugangsdaten stimmen. Die Datenbank
servbay_phalcon_app
sollten Sie (z.B. per phpMyAdmin/Adminer) selbst anlegen.
Webserver über ServBay einrichten
Damit Sie Ihr Phalcon-Projekt via Browser aufrufen können, müssen Sie es als Webseite (virtueller Host) in ServBay anlegen und das öffentliche Verzeichnis verlinken.
- ServBay-App öffnen
- Zum Bereich "Websites" wechseln: Klicken Sie im ServBay-Hauptfenster auf den Menüpunkt "Websites".
- Neue Website hinzufügen:
- Name: Geben Sie eine passende Bezeichnung an, z.B.
Mein erstes Phalcon Dev Site
. - Domain: Wählen Sie den gewünschten lokalen Domainnamen, z.B.
servbay-phalcon-test.local
. Die.local
-Domain wird auf localhost aufgelöst. - Websitetyp: Setzen Sie auf
PHP
. - PHP-Version: Nehmen Sie die aktivierte Version mit dem Phalcon-Modul.
- Wurzelverzeichnis: Wichtig! Die Startdatei
index.php
von Phalcon liegt unterpublic
. Weisen Sie daher Ihrer Website als Wurzel zu:/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
.
- Name: Geben Sie eine passende Bezeichnung an, z.B.
- Konfiguration speichern: Nach dem Speichern werden die Änderungen übernommen – ggf. ist ein Neustart des Webservers (Caddy/Nginx) erforderlich.
Weitere Details siehe Erste Website hinzufügen. ServBay kümmert sich dabei automatisch um die DNS-Auflösung und Webserverkonfiguration.
Beispielcode hinzufügen
Fügen Sie beispielhafte Routen und Controller-Methoden hinzu, um die Funktionsfähigkeit Ihres Projekts zu überprüfen.
Routing konfigurieren
Passen Sie
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/routes.php
an, um die Root-URL/
zu behandeln:php<?php use Phalcon\Mvc\Router; $router = new Router(false); // Definiert die Standardroute und leitet '/' auf den IndexController und indexAction $router->add( '/', [ 'controller' => 'index', 'action' => 'index', ] ); // ... weitere Routen können hinzugefügt werden ... $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Controller anlegen
Legen Sie
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/controllers/IndexController.php
an, sofern nicht vorhanden, und ergänzen Sie eine einfacheindexAction
-Methode:php<?php namespace App\Controllers; // Achten Sie auf den richtigen Namespace use Phalcon\Mvc\Controller; class IndexController extends Controller { // Behandelt Anfragen an '-/' public function indexAction() { // Gibt einen einfachen String als Antwort zurück return 'Hello ServBay!'; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Aufruf der Seite
Speichern Sie alle Dateien und stellen Sie sicher, dass ServBay läuft. Öffnen Sie Ihren Browser und rufen Sie die konfigurierte Domain auf:
https://servbay-phalcon-test.local
Sie sollten die Ausgabe Hello ServBay!
im Browser sehen, wenn alles korrekt eingerichtet ist.
Datenbankeinbindung
Phalcon bietet eine vielseitige Datenbankabstraktion samt ORM. Mit ServBay können Sie verschiedene DBs komfortabel integrieren. Im Folgenden wird exemplarisch die Anbindung von MySQL und Redis demonstriert.
Beispiel für relationale DB: MySQL
Im Folgenden zeigen wir das Verbinden mit dem ServBay-MySQL sowie einfache Insert-/Abfrageoperationen.
Datenbankstruktur anlegen (Migrationen)
Phalcon DevTools ermöglichen Datenbankmigrationen, also das kontollierte Verwalten und Versionieren von Schemata.
Migrationsdatei erzeugen: Im Codeverzeichnis (
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
) mit folgendem Befehl eine leere Migration anlegen:bashvendor/bin/phalcon migration generate
1Dadurch wird im Verzeichnis
migrations
eine Datei wie z.B.YYYYMMDDHHMMSS_MigrationName.php
angelegt.Migration bearbeiten: In der neuen Datei die Methode
morph
anpassen, um z.B. die Tabelleusers
zu definieren:php<?php use Phalcon\Db\Column; use Phalcon\Db\Index; use Phalcon\Migrations\Mvc\Model\Migration; /** * Class UsersMigration_100 */ class UsersMigration_100 extends Migration // Der Klassenname muss zum Dateinamen passen { /** * Führt die Migration aus * * @return void */ public function morph() { $this->morphTable('users', [ 'columns' => [ new Column( 'id', [ 'type' => Column::TYPE_INTEGER, 'autoIncrement' => true, 'notNull' => true, 'primary' => true, ] ), new Column( 'name', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, ] ), new Column( 'email', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, 'unique' => true, ] ), ], 'indexes' => [ new Index('PRIMARY', ['id'], 'PRIMARY'), new Index('email_UNIQUE', ['email'], 'UNIQUE'), ], 'options' => [ 'TABLE_ENGINE' => 'InnoDB', 'CHARACTER SET' => 'utf8mb4', 'COLLATE' => 'utf8mb4_unicode_ci', ], ]); } /** * Macht die Migration rückgängig * * @return void */ public function down() { // Optional: Rückgabelogik implementieren, z.B. Tabelle löschen // $this->getConnection()->dropTable('users'); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70Hinweis: Der Klassenname (
UsersMigration_100
) muss zum Dateinamen passen.Migration ausführen: Führen Sie im Projektverzeichnis folgende Kommando aus, um die Tabelle in der Datenbank zu erzeugen:
bashvendor/bin/phalcon migration run
1Bei einem Verbindungsfehler kontrollieren Sie die Einstellungen in
app/config/config.php
sowie die Lauffähigkeit des MySQL/MariaDB-Services in ServBay.
Datenbankverbindung einrichten (bereits erledigt)
Die Verbindung wird in der Datei
app/config/config.php
über den Bereich'database'
konfiguriert (siehe oben). Prüfen Sie Host, Port, Nutzer und Passwort sowie den DB-Namen.Beispielhafte Routen hinzufügen
Ergänzen Sie in
app/config/routes.php
Routen für das Einfügen und Abfragen von User-Daten:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); // Route zum Einfügen von Userdaten $router->add( '/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ] ); // Route zum Abfragen von Userdaten $router->add( '/mysql', [ 'controller' => 'index', 'action' => 'mysql', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31Datenbankoperationen im Controller implementieren
Ergänzen Sie in
app/controllers/IndexController.php
die MethodenmysqlAddAction
undmysqlAction
für Insert und Abfrage. Hier ein direkter (vereinfachter) Zugriff:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; // MySQL-Adapter importieren use Phalcon\Db\Enum; // Für fetchAll-Returntypen class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } // Beispiel für das Einfügen eines Users public function mysqlAddAction() { // Verbindungsaufbau (idealerweise über Dependency Injection!) $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- Ihr DB-Passwort eintragen 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // Userdatensatz einfügen $success = $connection->insert( 'users', // Tabellenname ['ServBay Demo User', '[email protected]'], // Werte ['name', 'email'] // Spaltennamen ); // Ergebnis ausgeben echo $success ? 'User added successfully.' : 'Failed to add user.'; } // Beispiel für Datenbankabfrage public function mysqlAction() { // Verbindung aufbauen $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- Ihr DB-Passwort eintragen 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // Alle User abfragen $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); // Ausgabe als JSON header('Content-Type: application/json'); echo json_encode($users); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57Hinweis: Für produktive Anwendungen sollten Sie Verbindungen über den DI-Service-Container bereitstellen und nicht pro Request neu instanziieren.
Beispiel testen
- Besuchen Sie
https://servbay-phalcon-test.local/mysql-add
– Sie sollten "User added successfully." sehen. - Rufen Sie anschließend
https://servbay-phalcon-test.local/mysql
auf, um die JSON-Ansicht der Users-Tabelle mit Ihrem Testeintrag zu bekommen.
- Besuchen Sie
Beispiel für NoSQL-DB: Redis
Nachfolgend die Anbindung von ServBays Redis-Service als Cache im Phalcon-Projekt:
Redis-Erweiterung installieren
Die Redis-Erweiterung ist in ServBay-PHP-Bundles üblicherweise bereits enthalten. Aktivieren Sie sie daher einfach für Ihre PHP-Version in ServBay, ein manueller Download ist nicht erforderlich.
Redis-Verbindungsdaten konfigurieren
In
app/config/config.php
können Sie die Redis-Zugangsdaten eintragen. ServBays Redis läuft gewöhnlich unter127.0.0.1
, Port6379
.phpreturn new \Phalcon\Config([ // ... weitere Konfiguration ... 'cache' => [ 'adapter' => 'Redis', 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, 'persistent' => false, 'auth' => null, // Falls Ihr Redis geschützt ist ], // ... weitere Konfiguration ... ]);
1
2
3
4
5
6
7
8
9
10
11
12Beispielroute für Redis-Cache einfügen
Ergänzen Sie in
app/config/routes.php
einen neuen Eintrag für den Redis-Demo-Endpunkt:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); $router->add('/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ]); $router->add('/mysql', [ 'controller' => 'index', 'action' => 'mysql', ]); // Route für Redis-Cache $router->add( '/redis', [ 'controller' => 'index', 'action' => 'redis', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32Redis-Cache im Controller verwenden
Ergänzen Sie in
app/controllers/IndexController.php
die MethoderedisAction
:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; use Phalcon\Db\Enum; use Phalcon\Cache\Adapter\Redis; // Redis-Adapter importieren use Phalcon\Storage\SerializerFactory; // Für Serialisierung class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } public function mysqlAddAction() { $connection = new Mysql([/* ... */]); $success = $connection->insert(/* ... */); echo $success ? 'User added successfully.' : 'Failed to add user.'; } public function mysqlAction() { $connection = new Mysql([/* ... */]); $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); header('Content-Type: application/json'); echo json_encode($users); } // Redis-Caching-Beispiel public function redisAction() { // Serialisierer-Fabrik erzeugen $serializerFactory = new SerializerFactory(); // Redis-Konfiguration (wie in config.php definiert) $options = [ 'defaultSerializer' => 'Json', 'lifetime' => 3600, // Laufzeit in Sekunden 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, // 'auth' => 'ihr_redis_passwort', ]; // Redis-Cache-Adapter instanziieren $cache = new Redis($serializerFactory, $options); $cacheKey = 'my_servbay_redis_cache_key'; $cachedData = $cache->get($cacheKey); // Daten aus Cache abrufen if ($cachedData === null) { // Keine Daten gefunden echo "Data not found in cache, fetching from source..."; $cachedData = 'Data fetched from source: Hello Redis from ServBay!'; $cache->set($cacheKey, $cachedData); echo "Data stored in cache."; } else { // Daten im Cache vorhanden echo "Data found in cache: "; } // Gibt die Daten (neu oder aus dem Cache) zurück return $cachedData; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68Hinweis: Auch den Cache empfehlen wir in Produktivprojekten als DI-Service zur Verfügung zu stellen.
Beispiel testen
Öffnen Sie im Browser
https://servbay-phalcon-test.local/redis
.- Beim ersten Aufruf sehen Sie "Data not found in cache, fetching from source...Data stored in cache." und "Data fetched from source: Hello Redis from ServBay!".
- Solange der Cache gültig ist, lautet die Ausgabe beim Wiederholungsaufruf "Data found in cache: " und "Data fetched from source: Hello Redis from ServBay!".
Häufige Fragen (FAQ)
- Q: Warum bekomme ich einen 404 Not Found Fehler beim Aufrufen der Seite?
- A: Vergewissern Sie sich, dass als "Webseiten-Wurzelverzeichnis" in der ServBay-Konfiguration exakt das
public
-Verzeichnis Ihres Phalcon-Projekts hinterlegt ist (/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
). Prüfen Sie zudem, ob der ServBay-Webserver (Caddy/Nginx) läuft und die Domain lokal korrekt aufgelöst wird.
- A: Vergewissern Sie sich, dass als "Webseiten-Wurzelverzeichnis" in der ServBay-Konfiguration exakt das
- Q: Was tun bei Fehlermeldungen wie "Class 'Phalcon\Mvc\Application' not found"?
- A: Das Phalcon-Modul ist dann für die eingesetzte PHP-Version vermutlich nicht aktiviert. Öffnen Sie ServBay, aktivieren Sie das Phalcon-Modul für Ihre PHP-Version und starten Sie den PHP-Dienst neu. Siehe auch Phalcon-Modul aktivieren.
- Q: Die Datenbankverbindung scheitert – was tun?
- A: Überprüfen Sie die Konfigurationsparameter (Host, Nutzer, Passwort, DB-Name) in
app/config/config.php
. Stellen Sie sicher, dass Ihr Datenbankservice (MySQL/MariaDB) läuft und der Nutzer die nötigen Rechte auf die DB hat.
- A: Überprüfen Sie die Konfigurationsparameter (Host, Nutzer, Passwort, DB-Name) in
Fazit
Mit ServBay lässt sich eine leistungsfähige lokale Entwicklungsumgebung für Phalcon-Projekte unter macOS besonders einfach einrichten. Von der Projektinitialisierung und Webserverkonfiguration bis hin zur Integration von MySQL- und Redis-Datenbanken sind alle Grundfunktionen abgedeckt. Die Vielzahl integrierter Pakete und das komfortable UI von ServBay machen das Aufsetzen und Verwalten einer modernen Entwicklungsumgebung mühelos und effizient – so können Sie sich voll auf die Entwicklung Ihrer Phalcon-Anwendungen konzentrieren. Wir hoffen, dass Ihnen diese Anleitung einen reibungslosen Einstieg in die Webentwicklung mit ServBay und Phalcon ermöglicht!