codeigniter
Fangen wir an: Hallo Welt
Suche…
Eine sehr einfache Hello World-Anwendung
Nach einer Neuinstallation von Codeigniter 3 können Sie mit einer Hello World-Anwendung beginnen, um mit diesem soliden PHP-Framework das Eis zu brechen.
Zu diesem Zweck können Sie die Ansicht erstellen, die für unsere Hello World-App angezeigt werden soll.
Wir werden es in Ihrem Bewerbungsordner ablegen, hier:
In hello_world.php
( /application/views/
)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
Es ist nur ein einfacher HTML-Inhalt.
Damit diese Ansicht angezeigt wird, benötigen wir einen Controller . Der Controller ruft die Ansicht auf, um den Inhalt anzuzeigen.
Damit es richtig funktioniert, muss der Controller in den richtigen Controller-Ordner wechseln.
Hier werden wir unseren Hello World Controller platzieren:
/application/controllers/Hello_world.php
(Der Name des Controllers ist im Allgemeinen snake_case mit dem ersten Buchstaben in Großbuchstaben.)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index(){
$this->load->view('hello_world');
}
}
Die Standardfunktion für einen Controller ist die Indexfunktion.
Nun können Sie den Inhalt Ihrer Hello World-Seite mit der folgenden Adresse sehen:
http://[your_domain_name]/index.php/hello_world
oder, falls Sie den Fix mit .htaccess angewendet haben (gehen Sie zurück zur Installationsseite für den Fix)
http://[your_domain_name]/hello_world
(Wenn Sie lokal arbeiten, lautet die Adresse, an der Sie Ihre Seite finden, höchstwahrscheinlich: http://localhost/hello_world
).
Die URL wird tatsächlich gebildet, indem Sie Ihre Controller-Klasse aufrufen (in diesem Fall Hello_world
, jedoch nur Kleinbuchstaben in der URL). In diesem Fall reicht es aus, da wir die Indexfunktion verwendet haben. Wenn wir einen anderen Funktionsnamen verwendet hätten (etwa greetings
), hätten wir eine URL wie die folgende verwenden sollen:
http://[your_domain_name]/hello_world/greetings
Welches ist strukturiert als /[controller_name]/[method_name]
.
Bitte schön! Ihre erste Codeigniter-Anwendung funktioniert!
Lassen Sie uns den Controller etwas mehr verwenden
Jetzt versuchen wir ein etwas komplexeres Beispiel zu finden, indem wir die Funktionen des Controllers verwenden, um die Ansicht zu füllen.
Hier ist unsere Ansicht: /application/views/hello_world.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1><?php echo $greetings;?></h1>
</body>
</html>
Jetzt haben wir einen Platzhalter für unsere Grüße.
So ändern wir den Controller, damit dies funktioniert:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function greetings(){
$data = array('greetings'=>'Hello World');
$this->load->view('hello_world',$data);
}
}
Das $data
Array wird mit den Informationen vorbereitet, die in die Ansicht eingefügt werden sollen, und zwar unter Verwendung derselben Bezeichnung ( greetings
), die in der Ansicht aufgerufen wurde.
Das Endergebnis ist dasselbe wie beim ersten Beispiel, aber wir nutzen jetzt mehr Möglichkeiten des Frameworks!
Wählen wir unsere Grüße aus: Hallo Welt oder Auf Wiedersehen Welt oder ...?
Angenommen, wir möchten eine alternative Begrüßung haben, auf die über eine andere URL zugegriffen werden kann. Wir können eine neue Funktion oder sogar einen neuen Controller dafür erstellen, aber es ist am besten, das, was wir bereits haben, zu optimieren, damit es optimal funktioniert!
Dazu behalten wir dieselbe Ansicht wie in den vorherigen Beispielen bei, fügen jedoch einen Parameter in unsere Funktion ein, um zwischen zwei verschiedenen Begrüßungen wählen zu können:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function greetings($my_greetings){
switch($my_greetings)
{
case 'goodbye':
$say = 'Good Bye World';
break;
case 'morning':
$say = 'Good Morning World';
break;
default:
$say = 'Hello World';
}
$data = array('greetings'=>$say);
$this->load->view('hello_world',$data);
}
}
Jetzt haben wir mehrere Begrüßungsoptionen! Damit sie visualisiert werden können, fügen Sie den Parameter wie folgt unter der URL hinzu:
http://[your_domain_name]/hello_world/greetings/goodbye
Dies zeigt uns die Nachricht: "Good Bye World".
Die URL hat folgende Struktur:
http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]
In diesem Fall reicht es aus, die alte URL ohne Parameter aufzurufen, um zu unserer guten alten "Hello World" zurückzukehren:
http://localhost/hello_world/greetings
Sie können Ihrer Funktion mehrere Parameter hinzufügen (wenn Sie beispielsweise drei davon benötigen):
public function greetings($param1,$param2,$param3)
und sie können wie folgt mit der URL ausgefüllt werden:
http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]
zB http://localhost/hello_world/greetings/goodbye/italian/red
Auf diese Weise können Sie Parameter direkt von der URL an Sie übergeben, die sich auf den Inhalt dessen auswirken, was angezeigt wird.
Um mehr darüber zu erfahren, wie Parameter über die URL übergeben werden, sollten Sie sich mit dem Thema Routing beschäftigen.