Поскольку любой сайт при обращении к домену начинает грузиться со странички "/index.html", то начинаем соответственно с него.
Суем нос в файл "/index.html".
Что видим:
Настройка сообщений об ошибках, установка локали, объявление путей
смотрим дальше
бла бла бла… конечно установлена, иначе чоб мы здесь делали… ;)
еще одно объявление. Запуск сессий...
Таймеры для оценки быстродействия и получения текущего времени.
О! Началось...
Для тех кто еще не знаком с php объясняю: функциями include($filename) и require($filename) цепляется и исполняется еще один файл на php. Таки образом куски большого кода можно раскидать по подобным вставкам к основному скрипту (Впрочем злоупотреблять этим не следует, как поступили в Битриксе).
Итак мы видим: грузится и исполняется файл "/core/cms.php" и "PATH.’/includes/config.inc.php’", в комментах к которому написано, что он существует для совместимости со старыми версиями.
Дальше по тексту "index.html" у нас идет создание объекта $inCore через вызов функции у объекта cmsCore. Судя по всему cmsCore был создан в "/core/cms.php".
$inCore создали. Теперь начинаем с ним работать. Начинаем подгружать полезные классы для работы и создаем объекты этих классов для работы: соответственно $inDB, $inPage, $inConf, $inUser.
Теперь начинаем разбираться что у нас было "/core/cms.php" и откуда взялись эти классы...
Суем свой любопытный нос в "/core/cms.php"… После объявления в нем нескольких констант больше для документации видим
вот пошло объявление класса cmsCore… Здесь теперь лучше всего взять нормальный редактор для php? который бы отображал в виде дерева все переменные, константы и методы класса и всего что лежит в этом файле.
Ой, чего-то Delfi для php как-то слишком все сложно отобразила… Очень много методов...
Ну ладно берем поиск и ищем метод "loadClass", которым у нас классы грузили. Находим:
Снова видим наш любимый include в вариации include_once, т.е. один раз. И видим что к названию класса ( полученного при вызове функции) при загрузке спереди пристыковывается папочка указывающая откуда брать скрипт для класса ("PATH.’/core/classes/’") и расширение ".class.php" с конца названия. Смотрим в папочку "/core/classes/"...
Точно. Там лежат файлики:
user.class.php
plugin.class.php
page.class.php
db.class.php
config.class.php
Теперь чтобы познакомиться с API ядра движка на осталось распотрошить эти файлики на лежащие в них функции и классы...
Для начала хватит. Дальше нужно каждый из этих файликов разбирать внимательно и отдельно...
;)
Суем нос в файл "/index.html".
Что видим:
Настройка сообщений об ошибках, установка локали, объявление путей
////////////////////////////// Проверяем что система установлена /////////////////////////////
еще одно объявление. Запуск сессий...
/////////////////////////////////// Включаем таймер ///////////////////////////////////////// $start_time = $start_array[1] + $start_array[0];
////////////////////////// Загружаем нужные классы ////////////////////////////////////////// include('core/cms.php'); //ядро include(PATH.'/includes/config.inc.php'); //конфиг, оставлен для старых плагинов $inCore = cmsCore::getInstance(); $inCore->loadClass('page'); //страница $inCore->loadClass('config'); //конфигурация $inCore->loadClass('db'); //база данных $inCore->loadClass('plugin'); //плагины $inCore->loadClass('user'); //пользователь $inDB = cmsDatabase::getInstance(); $inPage = cmsPage::getInstance(); $inConf = cmsConfig::getInstance(); $inUser = cmsUser::getInstance(); cmsCore::loadLanguage('lang'); //главный языковый файл if ( !$inUser->update() ) { $inCore->redirect('/404'); } $home_title = $inConf->hometitle ? $inConf->hometitle : $inConf->sitename; $inPage->setTitle( $inConf->sitename );
Итак мы видим: грузится и исполняется файл "/core/cms.php" и "PATH.’/includes/config.inc.php’", в комментах к которому написано, что он существует для совместимости со старыми версиями.
Дальше по тексту "index.html" у нас идет создание объекта $inCore через вызов функции у объекта cmsCore. Судя по всему cmsCore был создан в "/core/cms.php".
$inCore создали. Теперь начинаем с ним работать. Начинаем подгружать полезные классы для работы и создаем объекты этих классов для работы: соответственно $inDB, $inPage, $inConf, $inUser.
Теперь начинаем разбираться что у нас было "/core/cms.php" и откуда взялись эти классы...
Суем свой любопытный нос в "/core/cms.php"… После объявления в нем нескольких констант больше для документации видим
"class cmsCore {"
Ой, чего-то Delfi для php как-то слишком все сложно отобразила… Очень много методов...
Ну ладно берем поиск и ищем метод "loadClass", которым у нас классы грузили. Находим:
public function loadClass($class){ $classfile = PATH.'/core/classes/'.$class.'.class.php'; include_once($classfile); return true; } return false; }
Точно. Там лежат файлики:
user.class.php
plugin.class.php
page.class.php
db.class.php
config.class.php
Теперь чтобы познакомиться с API ядра движка на осталось распотрошить эти файлики на лежащие в них функции и классы...
Для начала хватит. Дальше нужно каждый из этих файликов разбирать внимательно и отдельно...
;)
Реклама #
Barrio 14 лет назад #