Главная Новости

Сайт на PHP NUKE | Давайте начнем с самого начала

Опубликовано: 06.09.2018

видео Сайт на PHP NUKE | Давайте начнем с самого начала

Пишем на SQL без SQL! ► Урок по RedBeanPHP #1 ► Самая простая и мощная ORM для PHP! ► Основы



Среди множества файлов программного пакета PHP-Nuke вы найдете файл index.php (который обычно находится в папке HTML), представляющий главную страницу, которая загружается при обращении пользователя к вашему Web-сайту, созданному с помощью этого пакета. Откройте копию программы Блокнот (Windows Notepad) и перетащите в нее файл index.php. Если вы имеете техническое образование, то содержимое файла покажется вам интересным и, возможно, даже забавным. Если же вы не обладаете специальными знаниями, то появившийся на экране текст может оказаться для вас пугающим. Не беспокойтесь, вам не надо запоминать никакие открывшиеся строки. Это просто полезно иметь в виду. Далее представлен текст, который расположен в верхней части файла index.php:


Часть 1. Форма обратной связи для сайта: PHP-обработчик

require_once( 14 mainfile.pIip M);

$_SERVERpPHP_SELF'J в "module.php";

$row = $db->eql fetchrow($db->etjl_queiry( nSELECT ma.injmodu 1 e from w.$prefix."_main"));

$name = $row[ ,main_module'];

$homa = 1i

if ($httpref==l) {

$referer = $_SERVER?"HTTP_REFERER"] ;

$referer » check_html($referror, nobtml);

if ($te?erar"= e" OR ereffi^unknown", $referer) OR

substr( w$referrer",0,strlen($nukeurl))==$nukeurl OR eregi(" Abookmark"),referrer)){

> else {

$result = $db->sql_query ( 11 INSERT INTO".$prefix."_referrer

VALUES(NULL, 1$referer')");

>

Snumrows = $db->sql_nuinrows {$db->sql_<niery("SELECT * FROM w.$pre?ix."_referrer")); if($numrows>=$httpre?max){

$result2 = $db->sql_query("DELETE FROM".$prefix."

_referrer"); >

>

Ну, как? Это язык РНР, на котором и написана программа PHP-Nuke. Обратите внимание на то, что в первой строке через вызов функции require_once {) содержится указание РНР на включение в программный код файла с именем mainfile.php. Использование функции require^once () и сопутствующей ей функции include () достаточно часто встречается в коде PHP-Nuke. Фактически, к каждой отдельной странице программы PHP-Nuke с большой вероятностью прикрепляется не менее полудюжины различных файлов. Во время загрузки Web-браузером файла index.php сервер также считывает или прикрепляет к этому файлу все файлы, затрагиваемые в директивах require_onceО к include (). Благодаря возможности включения нескольких файлов программный код PHP-Nuke становится блочным и достаточно гибким.

Кроме того, вы заметите внутри файла PHP-Nuke большое число обращений к базе данных. Все инструкции, начинающиеся со словосочетаний $db->sql_query, которые представлены в данном отрезке программного кода, являются запросами к базе данных. Почти все содержимое сайта PHP-Nuke хранится в принадлежащей ему базе данных, включая данные о дизайне сайта, блоки, отображаемые на страницах, полезные сведения, добавляемые на сайт, и т.д. PHP-Nuke без базы данных так же бесполезен, как казино в Лас Вегасе без игральных карт и костей.

Продвинувшись чуть далее по коду в файле index.php, вы увидите примерно такие строки:

if (is_admin($admin)) (

echo w<centerxfont class=\"\"xb>._HOMEPROBLEM." </bx/fontxbrxbr>

I , a href =*\"admin.pbp?op=modules\">" ._ADDAHOME."</a> )</center>";

} else {

echo "<center>" ._HOMEPROBLEMUSER."</center>";

С помощью оператора echo задаются текст и HTML-код, которые будут обрабатываться Web-браузером. Обратите внимание на то, что в нашем примере указанный оператор содержит некоторые теги HTML, например <center> и <font>. Чего вы, действительно, не найдете, так это каких либо текстовых надписей, они вообще очень редко встречаются в файлах программного пакета PHP-Nuke. Это объясняется очень просто: рассматриваемое нами программное обеспечение полностью локализировано, а это означает, что его пользовательский интерфейс транслируется более чем на 30 различных языках. В представленном выше фрагменте кода названия . _HOMEPROBLEM и . „HOMEPROBLEMUSER представляют две строки, которые должны отображаться на экране. Указанные названия заменяются реальным текстом, для какого бы языка пакет PHP-Nuke ни использовался. Так, например, для англичанина они могут заменяться текстом типа «There's a problem with the homepage, buddy» («Ошибка на домашней странице, дружище»), для таиландца - фразой такого же содержания, но па его родном языке, с использованием специальных наборов символов. Отдельные пользователи разработанного сай га с вашего разрешения могут выбрать подходящий для себя язык, и все содержимое вашего сайта будет отображаться для них на этом языке. Однако не думайте, что содержимое вашего сайта будет каким-то чудом автоматически переводиться на другие языки. PHP-Nuke - отличный продукт, но не волшебный. Выбор конкретного языка приводит к преобразованию интерфейса программы PHP-Nuke; стоит ли переводить на другие языки содержимое сайта - решать вам.

rss