Azura, знакомство с готовыми системами начинают с index.phpTill, ну, если честно, после видео-уроков я смогла сама написать лёгкий сайт, но код инстанта, например, я совершенно не могу прочесть. В результате я нифига не запомнила (потому что мне не нужно написание простых сайтов, я работаю с цмс), а пытаясь читать код инстанта вконец запуталась и разуверилась. Особенно проблематично у меня с запросами к базе.
открывают его и разбирают построчно
пример:
/////////////////////////////////// Подготовка ////////////////////////////////////////////// include('core/cms.php'); $inCore = cmsCore::getInstance(); /////////////////////////////////// Включаем таймер ///////////////////////////////////////// $inCore->startGenTimer(); ////////////////////////// Загружаем нужные классы ////////////////////////////////////////// cmsCore::loadClass('page'); //страница cmsCore::loadClass('user'); //пользователь cmsCore::loadClass('actions'); //лента активности cmsCore::callEvent('GET_INDEX', ''); $inDB = cmsDatabase::getInstance(); $inPage = cmsPage::getInstance(); $inConf = cmsConfig::getInstance(); $inUser = cmsUser::getInstance(); $inUser->autoLogin(); //автоматически авторизуем пользователя, если найден кукис // проверяем что пользователь не удален и не забанен и загружаем его данные if (!$inUser->update() && !$_SERVER['REQUEST_URI']!=='/logout') { cmsCore::halt(); } //устанавливаем заголовок браузера в название сайта $inPage->setTitle( $inConf->sitename );
определяем)создаем, устанавливаем)инициализируем
(о боже, как богат на слова русский язык ......) константу VALID_CMS
define("VALID_CMS", 1);
стартуем)инициализируем сессию
session_start();
подключаем внешний файл .....
ОПА! надо его открыть и ознакомиться с ним, что там такого в нем интересного
иначе дальнейшее чтение кода бессмысленно,
в смысле читать то будем, а вот понимать нет
include('core/cms.php');
после ознакомления с cms.php
строка
$inCore = cmsCore::getInstance();
уже не будет иметь такого загадочного значения а обретет смысл того что она означает, что мы
вызываем статический метод getInstance(); класса cmsCore который в свою очередь описывает патерн php сингелтон
классическое описание сингелтона
public static function getInstance($install_mode=false) {
if (self::$instance === null) {
self::$instance = new self($install_mode);
}
return self::$instance;
}
читаем дальше ........
о, а вот еще одна константа
define('HOST', 'http://'. cmsCore::getHost());
и так далее
и в том же духе
что не понятно в коде, гуглить справочники и мануалы ........
без этого никак