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 (Model-View-Controller) Design-Muster und bietet eine Vielzahl von Funktionen und Werkzeugen, die es Entwicklern ermöglichen, schnell qualitativ hochwertige Webanwendungen zu erstellen. CodeIgniter ist bekannt für seine Einfachheit, hohe Leistung und leichte Erlernbarkeit und ist die bevorzugte Wahl vieler Entwickler.
Die Hauptmerkmale und Vorteile von CodeIgniter
- Leichtgewichtig: Das Kernsystem von CodeIgniter ist sehr kompakt und enthält nur notwendige Komponenten, was zu sehr schnellen Ladezeiten führt.
- Hohe Leistung: CodeIgniter ist für seine effiziente Leistung und Geschwindigkeit bekannt und kann hohe gleichzeitige Anfragen verarbeiten.
- Leicht zu erlernen: Es bietet eine einfache und benutzerfreundliche API und umfangreiche Dokumentation, sodass Entwickler schnell loslegen können.
- Flexibilität: Entwicklern steht es frei, Bibliotheken und Plugins von Drittanbietern zu verwenden, was die Erweiterung und Anpassung von Funktionen erleichtert.
- Starke Community-Unterstützung: Es gibt eine aktive Entwickler-Community und eine Vielzahl von Erweiterungen von Drittanbietern.
CodeIgniter kann Entwicklern helfen, schnell leistungsstarke und qualitativ hochwertige Webanwendungen zu erstellen und eignet sich für Projekte jeder Größenordnung.
Ein CodeIgniter-Projekt mit ServBay erstellen und ausführen
In diesem Artikel nutzen wir die von ServBay bereitgestellte PHP-Umgebung, um ein CodeIgniter-Projekt zu erstellen und auszuführen. Wir werden die „Host“-Funktion von ServBay verwenden, um den Webserver einzurichten und den Zugriff auf das Projekt durch einfache Konfiguration zu ermöglichen.
Hinweis: Wenn Sie zuvor ein NGINX- oder Apache-Benutzer 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 hat Caddy bereits integriert und die Standardkonfiguration ist optimiert und getestet. Entwickler müssen nur die „Host“-Funktion von ServBay verwenden, um die Site zu verwalten, ohne die Caddy-Konfigurationsdatei manuell ändern zu müssen.
Rewrite-Regeln und .htaccess
In NGINX und Apache müssen Entwickler normalerweise eigene Rewrite-Regeln und .htaccess-Dateien schreiben, um URL-Rewriting und andere Konfigurationen zu handhaben. ServBay hat jedoch bereits Caddy-Regeln vorkonfiguriert, sodass Entwickler diese Regeln nicht selbst schreiben müssen, es sei denn, sie haben spezielle Anforderungen.
Mehr erfahren
Weitere Informationen finden Sie unter Rewrite und htaccess, Wie man eine Apache-Website auf ServBay migriert, Wie man eine NGINX-Website auf ServBay migriert.
Ein CodeIgniter-Projekt erstellen
TIP
ServBay empfiehlt Entwicklern, ihre Websites im Verzeichnis /Applications/ServBay/www
abzulegen, um die Verwaltung zu erleichtern.
Composer installieren
ServBay wird mit Composer vorinstalliert geliefert, es ist keine separate Installation erforderlich.
Ein CodeIgniter-Projekt erstellen
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
4In das Projektverzeichnis wechseln
Wechseln Sie in das neu erstellte CodeIgniter-Projektverzeichnis:
bashcd /Applications/ServBay/www/servbay-codeigniter-app
1
Initiale Konfiguration
Datenbankverbindung konfigurieren
Konfigurieren Sie die Datenbankverbindungsinformationen 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. In den „Host“-Einstellungen von ServBay fügen Sie einen neuen Host hinzu:
- Name:
My First CodeIgniter Dev Site
- Domain:
servbay-codeigniter-test.local
- Websitetyp:
PHP
- PHP-Version:
8.3
wählen - Webstammverzeichnis:
/Applications/ServBay/www/servbay-codeigniter-app/public
Für detaillierte Anweisungen lesen Sie 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
Webseite aufrufen
Öffnen Sie Ihren Browser und besuchen Sie folgende URL:
https://servbay-codeigniter-test.local
: Sie werden eine Ausgabe sehenHello ServBay!
.
NoSQL-Datenbank-Beispiele
Memcached Beispiel
Memcached-Erweiterung installieren
In ServBay ist die Memcached-Erweiterung bereits vorinstalliert, keine zusätzlichen Installationen 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
7Fügen Sie die Route in der Datei
app/Config/Routes.php
hinzu:php$routes->get('/memcached', 'Home::memcached');
1Öffnen Sie Ihren Browser und besuchen Sie: https://servbay-codeigniter-test.local/memcached
Redis Beispiel
Redis-Erweiterung installieren
In ServBay ist die Redis-Erweiterung bereits vorinstalliert, keine zusätzlichen Installationen 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
7Fügen Sie die Route in der Datei
app/Config/Routes.php
hinzu:php$routes->get('/redis', 'Home::redis');
1Öffnen Sie Ihren Browser und besuchen Sie: https://servbay-codeigniter-test.local/redis
Relationale Datenbank-Beispiele
Datenbankstruktur erstellen und Migrationsdateien erstellen
Migrationsdatei 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 diese, um die Datenbanktabellenstruktur 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
1
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' => 'utf8', 'DBCollat' => 'utf8_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
19Routen hinzufügen
Fügen Sie die folgenden Routen in der Datei
app/Config/Routes.php
hinzu:php$routes->get('/mysql-add', 'Home::mysqlAdd'); $routes->get('/mysql', 'Home::mysql');
1
2Benutzerdaten hinzufügen
Fügen Sie Benutzerdaten im Controller hinzu:
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
Verwenden Sie die MySQL-Datenbank im Controller:
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 Ihren 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 den folgenden Befehl, um eine Migrationsdatei zu erstellen:
bashphp spark make:migration create_users_table
1Migrationsdatei bearbeiten
Bearbeiten Sie die Migrationsdatei wie folgt:
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
Führen Sie den folgenden Befehl aus, um die Migration auszuführen und die Tabellenstruktur zu erstellen:
bashphp spark migrate
1Routen hinzufügen
Fügen Sie die folgenden Routen in der Datei
app/Config/Routes.php
hinzu:php$routes->get('/pgsql-add', 'Home::pgsqlAdd'); $routes->get('/pgsql', 'Home::pgsql');
1
2Benutzerdaten hinzufügen
Fügen Sie Benutzerdaten im Controller hinzu:
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
Verwenden Sie die PostgreSQL-Datenbank im Controller:
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 Ihren Browser und besuchen Sie:
https://servbay-codeigniter-test.local/pgsql-add
undhttps://servbay-codeigniter-test.local/pgsql
Durch die obigen Schritte haben Sie ein erfolgreiches CodeIgniter-Projekt erstellt und ausgeführt, und die von ServBay bereitgestellten Funktionen zur Verwaltung und zum Zugriff auf Ihr Projekt verwendet, während Sie mehrere Datenbanken verbunden und Daten abgerufen haben. Hoffentlich hilft Ihnen dieser Artikel, schnell mit CodeIgniter vertraut zu werden, und Sie können es in Ihren Projekten anwenden.