codeigniter
Начнем: Hello World
Поиск…
Очень простое приложение Hello World
Начиная с новой установки Codeigniter 3, вот простой способ начать с приложения Hello World, чтобы сломать лед с помощью этой надежной фреймворк PHP.
Для этого вы можете начать создавать представление, которое мы хотим показать для нашего приложения Hello World.
Мы собираемся поместить его в вашу папку приложений, здесь:
В 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>
Это просто HTML-контент.
Теперь, чтобы показать это представление, нам нужен контроллер . Контроллер является тем, который будет отображать представление, чтобы его содержимое отображалось.
Для правильной работы контроллера необходимо войти в папку соответствующих контроллеров.
Здесь мы собираемся разместить наш контроллер Hello World:
/application/controllers/Hello_world.php
(Имя контроллера, как правило, представляет собой snake_case с первой буквой в верхнем регистре)
<?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');
}
}
Функция по умолчанию для контроллера - это функция индекса.
Теперь вы сможете увидеть содержимое своей страницы Hello World, обращаясь к следующему адресу:
http://[your_domain_name]/index.php/hello_world
или, если вы применили исправление, используя .htaccess (вернитесь на страницу установки для исправления)
http://[your_domain_name]/hello_world
(Если вы работаете локально, скорее всего, адрес, на котором вы найдете свою страницу: http://localhost/hello_world
)
URL-адрес фактически сформирован, вызывая ваш класс контроллера (в данном случае Hello_world
, но используя все строчные буквы в URL-адресе). В этом случае этого достаточно, так как мы использовали индексную функцию. Если бы мы использовали другое имя функции (скажем, greetings
), мы должны были использовать такой URL:
http://[your_domain_name]/hello_world/greetings
Который структурирован как /[controller_name]/[method_name]
.
Ну вот! Ваше первое приложение Codeigniter работает!
Давайте использовать контроллер еще немного
Теперь мы попытаемся перейти к более сложному примеру, используя возможности контроллера для заполнения представления.
Вот наш взгляд: /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>
Теперь у нас есть место для отображения нашего приветствия.
Вот как мы меняем контроллер, чтобы это работало:
<?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);
}
}
Массив $data
готовят с информацией, которая должна быть введена в представление, используя ту же метку ( greetings
), которая была вызвана внутри представления.
Конечный результат такой же, как и в первом примере, но теперь мы используем большую часть возможностей каркаса!
Давайте выберем наши приветствия: Hello World или Good Bye World или ...?
Предположим, что мы хотим иметь альтернативное приветствие, доступное через другой URL-адрес. Мы могли бы создать для него новую функцию или даже новый контроллер, но лучше всего оптимизировать то, что у нас уже есть, чтобы оно работало лучше!
Для этого мы будем придерживаться того же представления, что и в предыдущих примерах, но мы представим параметр нашей функции, чтобы он мог выбирать между двумя разными приветствиями:
<?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);
}
}
Теперь у нас есть несколько вариантов приветствия! Чтобы они были визуализированы, мы добавим параметр в URL-адрес следующим образом:
http://[your_domain_name]/hello_world/greetings/goodbye
Это покажет нам сообщение: «До свиданья».
Структура URL-адреса выглядит следующим образом:
http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]
В этом случае, чтобы вернуться к нашему добрым «Hello World», достаточно назвать прежний url без параметров:
http://localhost/hello_world/greetings
Вы можете добавить несколько параметров к своей функции (например, если вам нужно 3 из них):
public function greetings($param1,$param2,$param3)
и они могут быть заполнены с использованием URL следующим образом:
http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]
например, http://localhost/hello_world/greetings/goodbye/italian/red
Таким образом, вы можете иметь параметры, переданные вам непосредственно из URL-адреса, которые будут влиять на содержимое того, что будет показано.
Чтобы узнать больше о том, как передавать параметры через URL-адрес, вам может понадобиться изучить тему маршрутизации!