Codeigniter: быстрый старт



Codeigniter — это PHP фреймворк от компании EllisLab. Благодаря подробной документации и большому сообществу, Codeigniter(CI) является наилучшим решением для тех, кто только начинает изучать фреймворки. На мой взгляд, CI один из самых удобных и простых в освоении фреймворков. Подробнее о плюсах и минусах этого фреймворка можно прочитать здесь.
В своей статье я покажу как установить и настроить CI.

Шаг 1: Загрузка CodeIgniter

Для начала работы, необходимо скачать сам Codeigniter, для этого переходим на официальный сайт: http://codeigniter.com/. Последняя версия на момент написания статьи: 1.7.1.

Шаг 2: Установка

После того, как скачали Codeigniter. Распаковываем архив и переименовываем папку “CodeIgniter_1.7.1”. После этого копируем папку с фреймворком к себе на сервер. В моем случае я назвал папку — «ci». В результате у вас должна получиться следующая структура:



Шаг 3: Настройка Codeigniter

Открываем файл /system/application/config/config.php
Находим строку:

$config['base_url'] = "http://example.com/";


И меняем ее на

$config['base_url'] = "http://localhost/ci/";


По умолчанию система адресов в Codeigniter строится по такому принципу:
www.your-site.com/index.php/news/article/my_article
Использовать такой адрес нежелательно, поэтому в том же файле config.php ищем строчку:

$config['index_page'] = "index.php";


Далее заменяем эту строку на

$config['index_page'] = "";


Создаем в корневой папке файл .htaccess, чтобы удалить из запроса index.php.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ ci/index.php/$1 [L]
</IfModule>


Шаг 4: Тестирование

Переходим по адресу http://localhost/ci/. Видим следующую страницу с приветствием:



Шаг 5: Создание «HelloWorld» приложения

Создание базы данных

Создадим базу “helloworld”и добавим в нее таблицу “tdata” выполнив следующий запрос:

CREATE TABLE `tdata` (
  `pk_id` int(11) NOT NULL auto_increment,
  `fc_title` varchar(20) default NULL,
  `ft_text` text,
  PRIMARY KEY  (`pk_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;


Добавим запись в таблицу “tdata”:

INSERT INTO
            tdata (fc_title, ft_text)
VALUES
            ('Hello World', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sapien eros, lacinia eu, consectetur vel, dignissim et, massa.')


Настройка соединения с базой данных
Открываем файл system/application/config/database.php, вносим свои настройки для соединения с БД. В моем случае настройки будут выглядеть так:

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "helloworld";


Для работы с базой данных нам необходимо подключить библиотеку “database”. Для этого открываем файл system/application/config/autoload.php и добавляем библиотеку.

$autoload['libraries'] = array('database');


По умолчанию CI использует контроллер welcome.php; найти его можно в папке controllers. Для создания нашего “helloworld” приложения этот контроллер не нужен, поэтому удаляем его. Далее открываем файл system/application/config/routes.php, находим строку:

$route['default_controller'] = "welcome";


и исправляем ее на

$route['default_controller'] = "helloworld";


Codeigniter так же по умолчанию использует отображение welcome_message расположенное в папке views, нам он тоже не нужен и поэтому можно его удалить.
Создание модели “HelloWorld”
Модели в CI представляют из себя php класс для работы с базой данных. Создадим модель helloworld_model.php в папке system/application/models. Добавим в нашу модель конструктор и метод getData.

<?php   
class Helloworld_model extends Model {   
 
    function Helloworld_model()   
    {   
        // Вызов конструктора  
        parent::Model();   
    }   
 
    function getData()   
        {   
            //Выбираем все данные из таблицы tdata  
            $query = $this->db->get('tdata'); 
            //Возвращаем результат   
            return $query->result();      
        }   
 
}   
?>


Создание контроллера “HelloWorld”
Контроллер это простой файл с классом, названным так чтобы ассоциироваться с URI, по которому он будет вызван. Создаем контроллер helloworld.php в папке controllers.

<?php   
    class Helloworld extends Controller{   
        function index()   
        {   
		//загружаем модель helloworld_model 
            $this->load->model('helloworld_model');   
 
            $data['content'] = $this->helloworld_model->getData();   
            $data['page_title'] = "CI Hello World App!";   
 
            $this->load->view('helloworld_view',$data);   
        }   
    }   
?>


Создание отображения “HelloWorld”
Отображение — это простая веб-страница или ее фрагмент, например шапка, подвал, боковая панель или т.д. Создаем отображение helloworld_view.php в папке views.

<html>   
    <head>   
        <title><?=$page_title?></title>   
    </head>   
    <body>   
        <?php foreach($content as $c):?>   
        <h3><?=$c->fc_title?></h3>   
        <p><?=$c->ft_text?></p>   
        <br />   
        <?php endforeach;?>   
    </body>   
</html>


Переходим по адресу http://localhost/ci/ или http://localhost/ci/helloworld и видим, что вместо приветствия теперь отображается наша информация из базы данных.
Теги:
helloworld, config, index, title, model, default, Codeigniter, папке, tdata, system, application, localhost, database, HelloWorld, этого, Helloworld, Создаем, контроллер, welcome, function, модель, папку, можно, getData, поэтому, умолчанию, работы, строку, адресу, autoload, query, открываем, extends, RewriteCond, Открываем
Добавлено: 01 Марта 2015 11:58:52 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...