codeigniter
Zacznijmy: Hello World
Szukaj…
Bardzo prosta aplikacja Hello World
Począwszy od nowej instalacji Codeigniter 3, tutaj jest prosty sposób na rozpoczęcie pracy z aplikacją Hello World, aby przełamać lody dzięki tej solidnej ramie PHP.
Aby to zrobić, możesz rozpocząć tworzenie widoku, który chcemy wyświetlać dla naszej aplikacji Hello World.
Zamierzamy umieścić go w folderze aplikacji, tutaj:
W 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>
To tylko prosta treść HTML.
Teraz, aby wyświetlić ten widok, potrzebujemy kontrolera . Kontroler jest tym, który przywoła widok w celu wyświetlenia jego zawartości.
Aby działał poprawnie, kontroler musi przejść do odpowiedniego folderu kontrolerów.
Oto miejsce, w którym umieścimy nasz kontroler Hello World:
/application/controllers/Hello_world.php
(Nazwa kontrolera to na ogół snake_case z pierwszą literą wielką)
<?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');
}
}
Domyślną funkcją kontrolera jest funkcja indeksu.
Teraz możesz zobaczyć zawartość swojej strony Hello World, uzyskując dostęp do następującego adresu:
http://[your_domain_name]/index.php/hello_world
lub, jeśli zastosowałeś poprawkę za pomocą .htaccess (wróć do strony instalacyjnej dla poprawki)
http://[your_domain_name]/hello_world
(Jeśli pracujesz lokalnie, najprawdopodobniej adres, na którym znajdziesz swoją stronę, to: http://localhost/hello_world
)
Adres URL jest faktycznie tworzony przez wywołanie klasy kontrolera (w tym przypadku Hello_world
, ale przy użyciu wszystkich małych liter w adresie URL). W tym przypadku wystarczy, ponieważ użyliśmy funkcji indeksu. Gdybyśmy użyli innej nazwy funkcji (powiedzmy greetings
), powinniśmy użyć takiego adresu URL:
http://[your_domain_name]/hello_world/greetings
Który ma strukturę: /[controller_name]/[method_name]
.
Proszę bardzo! Twoja pierwsza aplikacja Codeigniter działa!
Użyjmy trochę więcej kontrolera
Teraz spróbujemy przejść do nieco bardziej złożonego przykładu, wykorzystując możliwości kontrolera do wypełnienia widoku.
Oto nasz widok: /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>
Teraz mamy symbol zastępczy, aby wyświetlić nasze pozdrowienia.
Oto jak zmieniamy kontroler, aby to działało:
<?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);
}
}
Tablica $data
jest przygotowywana z informacjami, które mają zostać wstrzyknięte do widoku, przy użyciu tej samej etykiety ( greetings
), która została przywołana w widoku.
Ostateczny wynik jest taki sam, jak w pierwszym przykładzie, ale teraz wykorzystujemy więcej możliwości frameworka!
Wybierzmy nasze pozdrowienia: Hello World, Good Bye World czy ...?
Powiedzmy, że chcemy mieć alternatywne powitanie, które jest dostępne pod innym adresem URL. Możemy stworzyć do tego nową funkcję, a nawet nowy kontroler, ale najlepszą praktyką jest optymalizacja tego, co już mamy, aby działało jak najlepiej!
Aby to zrobić, zachowamy ten sam widok, co w poprzednich przykładach, ale wprowadzimy parametr do naszej funkcji, aby mogła ona wybierać między dwoma różnymi pozdrowieniami:
<?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);
}
}
Teraz mamy wiele opcji powitania! Aby można je było wizualizować, dodamy parametr pod adresem URL w następujący sposób:
http://[your_domain_name]/hello_world/greetings/goodbye
To pokaże nam komunikat: „Good Bye World”.
Struktura adresu URL jest następująca:
http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]
W takim przypadku, aby wrócić do naszego starego dobrego „Hello World”, wystarczy zadzwonić na poprzedni adres URL, bez parametrów:
http://localhost/hello_world/greetings
Możesz dodać wiele parametrów do swojej funkcji (na przykład, jeśli potrzebujesz 3 z nich):
public function greetings($param1,$param2,$param3)
i można je wypełnić przy użyciu adresu URL w następujący sposób:
http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]
np. http://localhost/hello_world/greetings/goodbye/italian/red
W ten sposób możesz przekazać parametry bezpośrednio z adresu URL, które wpłyną na treść tego, co zostanie wyświetlone.
Aby dowiedzieć się więcej na temat przekazywania parametrów przez adres URL, możesz zajrzeć do tematu routingu!