Итак в соответствии с нашим планом по созданию CMS сегодня мы будем создавать структуру будущего сайта. Для это предварительно выполним несколько шагов:
Скачиваем и устанавливаем Denwer. Можно взять
тут.
Создаем новый домен. Для примера cms.ru
Скачиваем и разархивируем в подпапку www нашего домена cms.ru последнюю версию
CodeIgniter
Создаем пустую БД для будущей CMS. Назовем ее cms. Добавим пользователя login: cms pass: drt
Перезапускаем Denwer, заходим в браузере на cms.ru, если все действия были выполнены правильно, то нашим глазам должна предстать следующая картина.
Следующим шагом создаем (пока пустые) файлы моделей, видов и контроллеров.
В итоге у нас должна получиться такая структура файлов.
Файлы видов являются пустыми php файлами.
Пример файлов контроллеров:
news.php
<?php
/**
* @author allexe
* @copyright 2010
* 26.8.2010
* Описание файла: Контроллер Новости
*/
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class news extends Controller {
}
?>
Файл контроллера events.php
<?php
/**
* @author allexe
* @copyright 2010
* 26.8.2010
* Описание файла: Контроллер Мероприятия
*/
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class events extends Controller {
}
?>
Особое внимание стоит обратить на файл моделей crud.php
<?php
/**
* @author allexe
* @copyright 2010
* 26.8.2010
* Описание файла: Общая модель для работы с БД
*/
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Crud extends Model {
}
?>
И остальные файлы моделей. Внимание обратить на то что в них пишется не extends Model, а extends CRUD (т.е. CRUD является для них родительской).
Пример файла модели mdl_news.php
<?php
/**
* @author allexe
* @copyright 2010
* 26.8.2010
* Описание файла: Модель для работы с таблицей новостей */
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class mdl_news extends CRUD {
}
?>
Завершающим этапом в этом уроке будет настройка CodeIgniter. Все настройки производятся через файлы в папке www\system\application\config\
файл autoload.php (здесь указываем все что будет грузиться при загрузке системы).
В раздел libraries прописываем
$autoload['libraries'] = array('form_validation','session');
В раздел helper
$autoload['helper'] = array('url','form','html');
В раздел model
$autoload['model'] = array('crud');
Редактируем файл config.php. Переписываем соответствующие строки как указано ниже:
$config['base_url'] = "http://cms.ru/";
$config['index_page'] = "";
$config['subclass_prefix'] = 'cm_';
$config['sess_cookie_name'] = 'session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['global_xss_filtering'] = TRUE;
Редактируем файл database.php (настройки базы данных)
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "cms";
$db['default']['password'] = "drt";
$db['default']['database'] = "cms";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "cm_";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
Далее выполняем следующий скрипт в MySQL. Этот скрипт необходим для авторизации пользователей и хранения сессий.
CREATE TABLE IF NOT EXISTS `cm_sessions` (
session_id VARCHAR(40) DEFAULT '0' NOT NULL,
ip_address VARCHAR(16) DEFAULT '0' NOT NULL,
user_agent VARCHAR(50) NOT NULL,
last_activity INT(10) UNSIGNED DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id)
);
На этом предварительная настройка готова. Структура будущего сайта создана. В следующем уроке мы приступим к непосредственной разработке и увидим первые видимые результаты.