Поиск…


Очень простое приложение 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-адрес, вам может понадобиться изучить тему маршрутизации!



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow