![]()
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
Находим строку:
1 | $config['base_url'] = "http://example.com/"; |
И меняем ее на
1 | $config['base_url'] = "http://localhost/ci/"; |
По умолчанию система адресов в Codeigniter строится по такому принципу:
www.your-site.com/index.php/news/article/my_article
Использовать такой адрес нежелательно, поэтому в том же файле config.php ищем строчку:
1 | $config['index_page'] = "index.php"; |
Далее заменяем эту строку на
1 | $config['index_page'] = ""; |
Создаем в корневой папке файл .htaccess, чтобы удалить из запроса index.php.
1 2 3 4 5 6 7 | <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” выполнив следующий запрос:
1 2 3 4 5 6 | 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”:
1 2 3 4 | 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, вносим свои настройки для соединения с БД. В моем случае настройки будут выглядеть так:
1 2 3 4 | $db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "helloworld"; |
Для работы с базой данных нам необходимо подключить библиотеку “database”. Для этого открываем файл system/application/config/autoload.php и добавляем библиотеку.
1 | $autoload['libraries'] = array('database'); |
По умолчанию CI использует контроллер welcome.php; найти его можно в папке controllers. Для создания нашего “helloworld” приложения этот контроллер не нужен, поэтому удаляем его. Далее открываем файл system/application/config/routes.php, находим строку:
1 | $route['default_controller'] = "welcome"; |
и исправляем ее на
1 | $route['default_controller'] = "helloworld"; |
Codeigniter так же по умолчанию использует отображение welcome_message расположенное в папке views, нам он тоже не нужен и поэтому можно его удалить.
Создание модели “HelloWorld”
Модели в CI представляют из себя php класс для работы с базой данных. Создадим модель helloworld_model.php в папке system/application/models. Добавим в нашу модель конструктор и метод getData.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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.
1 2 3 4 5 6 7 8 9 10 11 12 | <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 и видим, что вместо приветствия теперь отображается наша информация из базы данных.
- Система оценок на jQuery и PHP
- Обзор фреймворка CodeIgniter
- Выбор PHP фреймворка. Сравнение CodeIgniter, Kohana, Yii.
- Работа с JSON в PHP и jQuery
- Русско-английский переводчик, с помощью Google AJAX Language API
Теги: Codeigniter, PHP

Здорово! Спасибо!
Reply
Спасибо. Надеюсь на продолжение
Reply
Чтобы вы хотели видеть в продолжении?
Reply
Неплохим продолжением было бы что-нибудь вроде создания небольшой гостевой.. Тоже «быстро»
Reply