Erstellen und Ausführen eines CodeIgniter-Projekts
Was ist CodeIgniter?
CodeIgniter ist ein leichtgewichtiges PHP-Framework, das sich für die Entwicklung schneller und effizienter Webanwendungen eignet. Es folgt dem MVC-Designmuster (Model-View-Controller) und bietet eine reichhaltige Menge an Funktionen und Werkzeugen, die es Entwicklern ermöglichen, schnell hochwertige Webanwendungen zu erstellen. CodeIgniter ist bekannt für seine Einfachheit, hohe Leistung und leichte Erlernbarkeit und ist eine beliebte Wahl unter Entwicklern.
Hauptfunktionen und Vorteile von CodeIgniter
- Leichtgewichtig: Das Kernsystem von CodeIgniter ist sehr klein und enthält nur die notwendigen Komponenten, was es sehr schnell lädt.
- Hohe Leistung: CodeIgniter ist für seine effiziente Leistung und Geschwindigkeit bekannt und kann eine hohe Benutzeranzahl gleichzeitig verarbeiten.
- Einfach zu Lernen: Bietet eine einfache und leicht zu bedienende API sowie umfassende Dokumentation, sodass Entwickler schnell loslegen können.
- Flexibilität: Ermöglicht Entwicklern die freie Wahl und Nutzung von Drittanbieter-Bibliotheken und -Plugins, was Erweiterungen und Anpassungen bequem macht.
- Starke Community-Unterstützung: Es gibt eine aktive Entwickler-Community und eine Fülle von Drittanbieter-Erweiterungen.
CodeIgniter kann Entwicklern dabei helfen, schnell leistungsstarke und hochwertige Webanwendungen zu erstellen, die für Projekte jeder Größe geeignet sind.
Erstellen und Ausführen eines CodeIgniter-Projekts mit ServBay
In diesem Artikel nutzen wir die PHP-Umgebung von ServBay, um ein CodeIgniter-Projekt zu erstellen und auszuführen. Wir verwenden die 'Host'-Funktion von ServBay, um den Webserver einzurichten und den Zugriff auf das Projekt durch einfache Konfiguration zu ermöglichen.
Hinweis: Wenn Sie ein NGINX- oder Apache-Nutzer waren
ServBay verwendet Caddy als Standard-Webserver. Für Benutzer, die von NGINX und Apache zu ServBay wechseln, gibt es einige wichtige Änderungen zu beachten:
Caddy-Konfiguration
Caddy ist bereits in ServBay eingebettet, und die Standardkonfiguration wurde optimiert und debuggt. Entwickler müssen die Website nur über die 'Host'-Funktion von ServBay verwalten, ohne die Caddy-Konfigurationsdateien manuell zu ändern.
Rewrite-Regeln und .htaccess
In NGINX und Apache müssen Entwickler normalerweise ihre eigenen Rewrite-Regeln und .htaccess-Dateien für URL-Umschreibungen und andere Konfigurationen schreiben. Mit ServBay sind die Regeln für Caddy jedoch vorkonfiguriert, sodass Entwickler diese Regeln nicht selbst schreiben müssen, es sei denn, es gibt spezielle Anforderungen.
Erfahren Sie mehr
Weitere Informationen finden Sie unter Rewrite und htaccess, Wie man eine Apache-Website zu ServBay migriert, Wie man eine NGINX-Website zu ServBay migriert.
Erstellen eines CodeIgniter-Projekts
TIP
ServBay empfiehlt Entwicklern, ihre Websites im Verzeichnis /Applications/ServBay/www
zu platzieren, um die Verwaltung zu erleichtern.
Installieren Sie Composer
Composer ist bereits mit ServBay vorinstalliert, daher ist keine separate Installation erforderlich.
Erstellen Sie ein CodeIgniter-Projekt
Verwenden Sie Composer, um ein neues CodeIgniter-Projekt zu erstellen:
bashcd /Applications/ServBay/www mkdir servbay-codeigniter-app cd servbay-codeigniter-app composer create-project codeigniter4/appstarter .
1
2
3
4Projektverzeichnis betreten
Betreten Sie das neu erstellte CodeIgniter-Projektverzeichnis:
bashcd /Applications/ServBay/www/servbay-codeigniter-app
1
Erstanpassung
Datenbankverbindung konfigurieren
Konfigurieren Sie die Datenbankverbindungs-Einstellungen in der Datei
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Webserver konfigurieren
Verwenden Sie die 'Host'-Funktion von ServBay, um über den Webserver auf das CodeIgniter-Projekt zuzugreifen. Fügen Sie in den 'Host'-Einstellungen von ServBay einen neuen Host hinzu:
- Name:
Meine erste CodeIgniter Dev Site
- Domain:
servbay-codeigniter-test.local
- Seitentyp:
PHP
- PHP-Version: Wählen Sie
8.3
- Website-Root-Verzeichnis:
/Applications/ServBay/www/servbay-codeigniter-app/public
Für detaillierte Einrichtungsschritte lesen Sie bitte Hinzufügen der ersten Website.
Beispielcode hinzufügen
Fügen Sie den folgenden Code in die Datei app/Controllers/Home.php
ein:
namespace App\Controllers;
use CodeIgniter\Controller;
class Home extends Controller
{
public function index()
{
return 'Hello ServBay!';
}
public function memcached()
{
$cache = \Config\Services::cache();
$cache->save('key', 'Hello Memcached!', 60);
$value = $cache->get('key');
return $value;
}
public function redis()
{
$redis = \Config\Services::cache();
$redis->set('key', 'Hello Redis!');
$value = $redis->get('key');
return $value;
}
public function mysqlAdd()
{
$db = \Config\Database::connect();
$db->table('users')->insert([
'name' => 'ServBay',
'email' => '[email protected]',
]);
return 'User added';
}
public function mysql()
{
$db = \Config\Database::connect();
$users = $db->table('users')->get()->getResult();
return json_encode($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
Auf die Website zugreifen
Öffnen Sie Ihren Browser und besuchen Sie die folgende URL:
https://servbay-codeigniter-test.local
: Sie werden die Seite sehen, dieHello ServBay!
ausgibt.
NoSQL-Beispieldatenbanken
Memcached-Beispiel
Memcached-Erweiterung installieren
Die Memcached-Erweiterung ist in ServBay vorinstalliert, es ist keine zusätzliche Installation erforderlich.
Memcached konfigurieren
Konfigurieren Sie die Memcached-Verbindungsinformationen in der Datei
app/Config/Cache.php
:phppublic $memcached = [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 1, ];
1
2
3
4
5Memcached verwenden
Verwenden Sie den Cache im Controller:
phppublic function memcached() { $cache = \Config\Services::cache(); $cache->save('key', 'Hello Memcached!', 60); $value = $cache->get('key'); return $value; }
1
2
3
4
5
6
7Route zu
app/Config/Routes.php
hinzufügen:php$routes->get('/memcached', 'Home::memcached');
1Öffnen Sie einen Browser und besuchen Sie https://servbay-codeigniter-test.local/memcached
Redis-Beispiel
Redis-Erweiterung installieren
Die Redis-Erweiterung ist in ServBay vorinstalliert, es ist keine zusätzliche Installation erforderlich.
Redis konfigurieren
Konfigurieren Sie die Redis-Verbindungsinformationen in der Datei
app/Config/Cache.php
:phppublic string $handler = 'redis'; public $default = [ 'host' => '127.0.0.1', 'password' => null, 'port' => 6379, 'timeout' => 0, 'database' => 0, ];
1
2
3
4
5
6
7
8
9Redis verwenden
Verwenden Sie den Cache im Controller:
phppublic function redis() { $redis = \Config\Services::cache(); $redis->save('key', 'Hello Redis!'); $value = $redis->get('key'); return $value; }
1
2
3
4
5
6
7Route zu
app/Config/Routes.php
hinzufügen:php$routes->get('/redis', 'Home::redis');
1Öffnen Sie einen Browser und besuchen Sie https://servbay-codeigniter-test.local/redis
Relationales Datenbank-Beispiel
MySQL-Beispiel
MySQL konfigurieren
Konfigurieren Sie die MySQL-Verbindungsinformationen in der Datei
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Migrationsdatei erstellen
Verwenden Sie das CLI-Tool von CodeIgniter, um eine Migrationsdatei zu erstellen:
bashphp spark make:migration create_users_table
1Migrationsdatei bearbeiten
Finden Sie die neu erstellte Migrationsdatei im Verzeichnis
app/Database/Migrations
und bearbeiten Sie sie, um die Struktur der Datenbanktabelle zu definieren:phpuse CodeIgniter\Database\RawSql; public function up() { $this->forge->addField([ 'id' => [ 'type' => 'INT', 'constraint' => 5, 'unsigned' => true, 'auto_increment' => true, ], 'name' => [ 'type' => 'VARCHAR', 'constraint' => '100', ], 'email' => [ 'type' => 'VARCHAR', 'constraint' => '100', 'unique' => true, ], 'created_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('CURRENT_TIMESTAMP'), ], 'updated_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), ], ]); $this->forge->addKey('id', true); $this->forge->createTable('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
32Migration ausführen
Verwenden Sie den Migrationsbefehl von CodeIgniter, um die Migration auszuführen und die Datenbanktabelle zu erstellen:
bashphp spark migrate
1Route hinzufügen
Fügen Sie die folgenden Routen zu
app/Config/Routes.php
hinzu:php$routes->get('/mysql-add', 'Home::mysqlAdd'); $routes->get('/mysql', 'Home::mysql');
1
2Benutzerdaten einfügen
Fügen Sie Benutzerdaten im Controller ein:
phppublic function mysqlAdd() { $db = \Config\Database::connect(); $db->table('users')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'User added'; }
1
2
3
4
5
6
7
8
9MySQL verwenden
Rufen Sie die Datenbank im Controller auf:
phppublic function mysql() { $db = \Config\Database::connect(); $users = $db->table('users')->get()->getResult(); return json_encode($users); }
1
2
3
4
5
6Öffnen Sie einen Browser und besuchen Sie
https://servbay-codeigniter-test.local/mysql-add
undhttps://servbay-codeigniter-test.local/mysql
PostgreSQL-Beispiel
PostgreSQL konfigurieren
Konfigurieren Sie die PostgreSQL-Verbindungsinformationen in der Datei
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'Postgre', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 5432, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Migrationsdatei erstellen
Verwenden Sie das CLI-Tool von CodeIgniter, um eine Migrationsdatei zu erstellen:
bashphp spark make:migration create_users_table
1Migrationsdatei bearbeiten
phpuse CodeIgniter\Database\RawSql; public function up() { $this->forge->addField([ 'id' => [ 'type' => 'INT', 'constraint' => 5, 'unsigned' => true, 'auto_increment' => true, ], 'name' => [ 'type' => 'VARCHAR', 'constraint' => '100', ], 'email' => [ 'type' => 'VARCHAR', 'constraint' => '100', 'unique' => true, ], 'created_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('NOW()'), ], 'updated_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('NOW()'), ], ]); $this->forge->addKey('id', true); $this->forge->createTable('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
32Migration ausführen
Verwenden Sie den Migrationsbefehl von CodeIgniter, um die Migration auszuführen und die Datenbanktabelle zu erstellen:
bashphp spark migrate
1Routen hinzufügen
Fügen Sie die folgenden Routen zu
app/Config/Routes.php
hinzu:php$routes->get('/pgsql-add', 'Home::pgsqlAdd'); $routes->get('/pgsql', 'Home::pgsql');
1
2Benutzerdaten einfügen
Fügen Sie Benutzerdaten im Controller ein:
phppublic function pgsqlAdd() { $db = \Config\Database::connect(); $db->table('users')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'User added'; }
1
2
3
4
5
6
7
8
9PostgreSQL verwenden
Rufen Sie die Datenbank im Controller auf:
phppublic function pgsql() { $db = \Config\Database::connect(); $users = $db->table('users')->get()->getResult(); return json_encode($users); }
1
2
3
4
5
6Öffnen Sie einen Browser und besuchen Sie
https://servbay-codeigniter-test.local/pgsql-add
undhttps://servbay-codeigniter-test.local/pgsql
Durch die obigen Schritte haben Sie erfolgreich ein CodeIgniter-Projekt erstellt und ausgeführt, die Funktionen von ServBay genutzt, um Ihr Projekt zu verwalten und darauf zuzugreifen, und mehrere Datenbanken verbunden, um mit den Daten zu interagieren. Ich hoffe, dieser Artikel hilft Ihnen, schnell mit CodeIgniter zu beginnen und es in Ihren Projekten anzuwenden.