Codeigniter: быстрый старт | 2Coders. Блог 2-х web-разработчиков
Автор Max Дата: 15 Март 2009

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

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

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

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

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

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

структура Codeigniter

Шаг 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.


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

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

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

Шаг 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.

db->get('tdata');
            //Возвращаем результат
            return $query->result();
        }   

}
?>

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

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.


       

    
    
           

fc_title?>

ft_text?>

Переходим по адресу http://localhost/ci/ или http://localhost/ci/helloworld и видим, что вместо приветствия теперь отображается наша информация из базы данных.



    4 коммент.

  1. Алексей:

    Здорово! Спасибо! :)

    Reply

  2. Спасибо:

    Спасибо. Надеюсь на продолжение

    Reply

  3. Max:

    Чтобы вы хотели видеть в продолжении?

    Reply

  4. Неплохим продолжением было бы что-нибудь вроде создания небольшой гостевой.. Тоже «быстро» :)

    Reply

Оставить комментарий или два

Это не спам.