Erstellen und Ausführen eines PHPixie-Projekts
Was ist PHPixie?
PHPixie ist ein leichtgewichtiges PHP-Framework, das sich für die schnelle Entwicklung leistungsfähiger Webanwendungen eignet. Es folgt dem HMVC (Hierarchical Model-View-Controller) Designmuster und bietet eine saubere Code-Struktur und hohe Effizienz. PHPixie ist bekannt für seine Einfachheit, Flexibilität und Leistung und ist daher das bevorzugte Framework vieler Entwickler.
Hauptmerkmale und Vorteile von PHPixie
- Leichtgewichtig: Das Kernsystem von PHPixie ist sehr klein und enthält nur notwendige Komponenten, wodurch es sehr schnell lädt.
- Hohe Leistung: PHPixie ist bekannt für seine effiziente Leistung und Geschwindigkeit und kann hohe Anfragen problemlos verarbeiten.
- Einfach zu lernen: Es bietet eine einfache und nutzerfreundliche API sowie umfassende Dokumentation, sodass Entwickler schnell einsteigen können.
- Flexibilität: Entwickler können frei wählen und Drittanbieter-Plugins verwenden, um Funktionen zu erweitern und anzupassen.
- Starke Community-Unterstützung: Es verfügt über eine aktive Entwickler-Community und viele Drittanbieter-Erweiterungen.
PHPixie kann Entwicklern dabei helfen, leistungsstarke und qualitativ hochwertige Webanwendungen schnell zu erstellen und eignet sich für Projekte jeder Größe.
Verwendung von ServBay zur Erstellung und Ausführung eines PHPixie-Projekts
In diesem Artikel verwenden wir die PHP-Umgebung von ServBay, um ein PHPixie-Projekt zu erstellen und auszuführen. Wir nutzen die 'Host'-Funktion von ServBay, um den Webserver einzurichten und den Zugriff auf das Projekt mit einfacher Konfiguration zu ermöglichen.
Hinweis: Wenn Sie zuvor Nutzer von NGINX oder Apache waren
ServBay verwendet standardmäßig Caddy als Webserver. Für Benutzer, die von NGINX und Apache zu ServBay wechseln, gibt es einige wichtige Änderungen zu beachten:
Caddy-Konfiguration
ServBay enthält bereits Caddy, und die Standardkonfiguration ist optimiert und getestet. Entwickler müssen nur die 'Host'-Funktion von ServBay zur Verwaltung der Seiten verwenden und die Caddy-Konfigurationsdatei nicht manuell ändern.
Rewrite-Regeln und .htaccess
In NGINX und Apache müssen Entwickler normalerweise selbst Rewrite-Regeln und .htaccess-Dateien schreiben, um URL-Rewrites und andere Konfigurationen zu handhaben. ServBay hat jedoch bereits die Regeln für Caddy vorkonfiguriert, sodass Entwickler keine eigenen Regeln schreiben müssen, es sei denn, es gibt spezielle Anforderungen.
Weitere Informationen
Weitere Informationen finden Sie unter Rewrite und .htaccess, Migration einer Apache-Website zu ServBay, Migration einer NGINX-Website zu ServBay.
Erstellen eines PHPixie-Projekts
TIP
ServBay empfiehlt Entwicklern, die Website im Verzeichnis /Applications/ServBay/www
zu platzieren, um eine einfachere Verwaltung zu ermöglichen.
Composer installieren
ServBay enthält bereits Composer, sodass eine zusätzliche Installation nicht erforderlich ist.
Erstellen eines PHPixie-Projekts
Verwenden Sie Composer, um ein neues PHPixie-Projekt zu erstellen:
bashcd /Applications/ServBay/www mkdir servbay-phpixie-app cd servbay-phpixie-app composer create-project phpixie/project .
1
2
3
4In das Projektverzeichnis wechseln
Wechseln Sie in das neu erstellte PHPixie-Projektverzeichnis:
bashcd /Applications/ServBay/www/servbay-phpixie-app
1
Initialisierung der Konfiguration
Datenbankverbindung konfigurieren
Konfigurieren Sie die Datenbankverbindungsinformationen in der Datei
assets/config/database.php
:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'mysql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9
Webserver-Konfiguration
Verwenden Sie die 'Host'-Funktion von ServBay, um auf das PHPixie-Projekt über den Webserver zuzugreifen. Fügen Sie in den 'Host'-Einstellungen von ServBay einen neuen Host hinzu:
- Name:
My First PHPixie Dev Site
- Domain:
servbay-phpixie-test.local
- Websitetyp:
PHP
- PHP-Version: Wählen Sie
8.3
- Websiteroot:
/Applications/ServBay/www/servbay-phpixie-app/web
Detaillierte Schritte finden Sie unter Erstellen der ersten Webseite.
Beispielcode hinzufügen
Fügen Sie folgenden Code in die Datei src/App/HTTP/Controller/Home.php
ein:
namespace App\HTTP\Controller;
use PHPixie\HTTP\Request;
use PHPixie\Template;
class Home extends \PHPixie\Controller
{
protected $template;
public function __construct(Template $template)
{
$this->template = $template;
}
public function action_index(Request $request)
{
return $this->template->render('app:home');
}
public function action_memcached(Request $request)
{
$cache = $this->components->cache();
$cache->set('key', 'Hello Memcached!', 60);
$value = $cache->get('key');
return $this->response()->string($value);
}
public function action_redis(Request $request)
{
$redis = $this->components->redis();
$redis->set('key', 'Hello Redis!');
$value = $redis->get('key');
return $this->response()->string($value);
}
public function action_mysql_add(Request $request)
{
$query = $this->components->database()->query();
$query->insert('users')->data([
'name' => 'ServBay',
'email' => '[email protected]',
])->execute();
return $this->response()->string('User added');
}
public function action_mysql(Request $request)
{
$query = $this->components->database()->query();
$users = $query->select('*')->from('users')->execute()->fetchAll();
return $this->response()->json($users);
}
}
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
Fügen Sie folgenden Code in die Datei assets/templates/app/home.php
ein:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to PHPixie</title>
</head>
<body>
<h1>Welcome to PHPixie</h1>
<p>The page you are looking at is being generated dynamically by PHPixie.</p>
</body>
</html>
2
3
4
5
6
7
8
9
10
11
12
Website aufrufen
Öffnen Sie Ihren Browser und rufen Sie die folgende URL auf:
https://servbay-phpixie-test.local
: Sie sehen die Ausgabe der SeiteWelcome to PHPixie
.
NoSQL-Datenbankbeispiele
Memcached-Beispiel
Memcached-Erweiterung installieren
In ServBay ist die Memcached-Erweiterung bereits vorinstalliert, es ist keine zusätzliche Installation erforderlich.
Memcached konfigurieren
Konfigurieren Sie die Memcached-Verbindungsinformationen in der Datei
assets/config/cache.php
:phpreturn [ 'default' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12Memcached verwenden
Verwenden Sie den Cache im Controller:
phppublic function action_memcached(Request $request) { $cache = $this->components->cache(); $cache->set('key', 'Hello Memcached!', 60); $value = $cache->get('key'); return $this->response()->string($value); }
1
2
3
4
5
6
7
Redis-Beispiel
Redis-Erweiterung installieren
In ServBay ist die Redis-Erweiterung bereits vorinstalliert, es ist keine zusätzliche Installation erforderlich.
Redis konfigurieren
Konfigurieren Sie die Redis-Verbindungsinformationen in der Datei
assets/config/redis.php
:phpreturn [ 'default' => [ 'hostname' => '127.0.0.1', 'port' => 6379, 'timeout' => 0, 'database' => 0, ], ];
1
2
3
4
5
6
7
8Redis verwenden
Verwenden Sie den Cache im Controller:
phppublic function action_redis(Request $request) { $redis = $this->components->redis(); $redis->set('key', 'Hello Redis!'); $value = $redis->get('key'); return $this->response()->string($value); }
1
2
3
4
5
6
7
Relationale Datenbankbeispiele
Erstellen der Datenbankstruktur und Migrationsdateien
Migrationsdatei erstellen
Verwenden Sie das CLI-Tool von PHPixie, um eine Migrationsdatei zu erstellen:
bashphp pixie generate:migration create_users_table
1Migrationsdatei bearbeiten
Finden Sie die neu erstellte Migrationsdatei im Verzeichnis
assets/migrations
und bearbeiten Sie sie, um die Tabellenstruktur zu definieren:phppublic function up() { $this->schema->create('users', function($table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } public function down() { $this->schema->drop('users'); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14Migration ausführen
Verwenden Sie das CLI-Tool von PHPixie, um die Migration auszuführen und die Datenbanktabellen zu erstellen:
bashphp pixie migrate
1
MySQL-Beispiel
MySQL konfigurieren
Konfigurieren Sie die MySQL-Verbindungsinformationen in der Datei
assets/config/database.php
:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'mysql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9Benutzerdaten einfügen
Fügen Sie Benutzerdaten im Controller ein:
phppublic function action_mysql_add(Request $request) { $query = $this->components->database()->query(); $query->insert('users')->data([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return $this->response()->string('User added'); }
1
2
3
4
5
6
7
8
9Verwendung von MySQL
Rufen Sie die Datenbank im Controller auf:
phppublic function action_mysql(Request $request) { $query = $this->components->database()->query(); $users = $query->select('*')->from('users')->execute()->fetchAll(); return $this->response()->json($users); }
1
2
3
4
5
6
PostgreSQL-Beispiel
PostgreSQL konfigurieren
Konfigurieren Sie die PostgreSQL-Verbindungsinformationen in der Datei
assets/config/database.php
:phpreturn [ 'default' => [ 'driver' => 'pdo', 'connection' => 'pgsql:host=127.0.0.1;dbname=servbay_phpixie_app', 'user' => 'root', 'password' => 'password', 'options' => [] ] ];
1
2
3
4
5
6
7
8
9Benutzerdaten einfügen
Fügen Sie Benutzerdaten im Controller ein:
phppublic function action_pgsql_add(Request $request) { $query = $this->components->database()->query(); $query->insert('users')->data([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return $this->response()->string('User added'); }
1
2
3
4
5
6
7
8
9Verwendung von PostgreSQL
Rufen Sie die Datenbank im Controller auf:
phppublic function action_pgsql(Request $request) { $query = $this->components->database()->query(); $users = $query->select('*')->from('users')->execute()->fetchAll(); return $this->response()->json($users); }
1
2
3
4
5
6
Durch die obigen Schritte haben Sie erfolgreich ein PHPixie-Projekt erstellt und ausgeführt. Sie haben die Funktionen von ServBay genutzt, um das Projekt zu verwalten und darauf zuzugreifen und dabei verschiedene Datenbanken angeschlossen und abgefragt. Wir hoffen, dass dieser Artikel Ihnen hilft, PHPixie schnell in Ihre Projekte zu integrieren.