|
Веб-курсы Что это? Оглавление Основы Основы основ Практика Гостевая книга Простой сайт Структура сайта (MVC) Ядро (Light) Ядро Гостевая на SQL Статические страницы Модуль новостей Система регистрации Теория Дебаггинг Регулярные выражения Введение в ООП Паттерны проектирования Репозитарий BB-code Почтовый класс Пагинатор Всякие полезности Download Полезные утилиты Разное Видеокурсы Последние изменения Вопросы и замечания сюда Реклама Диеты для похудения Фреймворк Kohana. Обучение. Мануал на русском. |
Шаг 1Подготовительные работы.С чего обычно начинается построение сайта? Вы думаете, что нужно сделать первый файл, допустим index.php, и пошло-поехало.Ан нет. Для того чтобы было быстрее и аккуратнее, доложна быть готовая рама, на которую мы и понавешаем нужный функционал, чтоб не повторяться. Назвать это можно ядром, фреймворком, шаблоном, паттерном, горшком, чертом лысым или как душе угодно. Суть одна - все, что обычно повторяется в разных сайтах (структура и общие функции) должно быть готово. Как замороженные пельмени. Останется сварить и добавить специи. Нужно сразу заметить, что ядром в нашем понимании, является не какие то догмы и рамки, которые обычно ставятся фреймворками и всевозможными CMS. У нас это просто структура, которая позволяет упорядочить скрипты и иные принадлежности сайта. Оставляя полную свободу выбора как и что реализовывать. И хотя "framework" и переводится как "основа" или "рабочая рама", в классическом понимании это больше язык программирования со своим синтаксисом и законами. Наша структура более точно подходит под определение "рама". Вот сейчас и сделаем такую кухню. Приступим, помолясь. Мы уже изучили структуру сайта, сейчас будет намного проще понять: что где и зачем. Возьмем этот скрипт и на его основе начнем разворачивать боевые действия. Начнем с того, что обычно оставляется "на потом", так как это кажется не очень важным. И зачастую это "потом" так и не наступает. А именно с конфигурации и сопутствующих фишек. Начнем со страниц ошибок. В корневой директории нужно сделать, как минимум, три файла. 401.html 403.html 404.html Оформлять их не нужно, это дело верстальщиков. Нам будет достаточно этого:
Еще там же в корне нужно сделать файл .htaccess с таким содержанием:
1. Кодировка. Все сайты мы будем делать в кодировке UTF-8. 2, 3. Убиваем магические кавычки. 4. Отключаем глобальные переменные 5-8. Обработка ошибок запросов. Вот тут и пригодятся странички. Обратите внимание на строку
ErrorDocument перенаправляет запросы на подготовленные страницы в случае ошибки сервера. Допустим набран адрес несуществующей страницы. В таком случае откроется 404.html 8-12. Обработка ошибок скрипта, выводимых PHP интерпретатором. Тут немного подробнее. Строки эти закомментированы, так как на момент разработки свои ошибки конечно лучше видеть на экране. А когда проект будет сдан в эксплуатацию, их лучше логировать (записывать в специальный файл), потому что если злой хацкер увидит ошибку, то может извлечь из неё полезную информацию. Но ошибки нужно знать, чтобы вовремя их исправить. Поэтому эти строки наготове. Особо обратите внимание на строку
Узнать его просто, нужно выполнить этот скрипт и скопировать то, что получится.
В эту же директорию (log) нужно положить еще один .htaccess с такой строчкой:
Ну а когда придет время сдачи проекта благодарному заказчику мы раскомментим эти строки и будем счастливы. Кроме того, нужно будет выставить уровень ошибок в самом скрипте, но это уже тогда, когда мы займемся индексом. Тут есть один маленький подвох. Дело в том, что если php установлен не как модуль аппача, а как cgi, то этот вызовет 500-ю ошибку. Потому что при такой компановке флаги устанавливать нельзя. Эти настройки нужно сделать в php.ini 14-19. Это mod_rewrite. То есть модуль перенаправления. Нужен он для того, что бы если у заказчика возникнет желание иметь ссылки вида ЧПУ, мы могли включить эту опцию одним движением. Но об этом позже. Особого внимания заслуживает строчка RewriteCond %{REQUEST_URI} !^/favicon.ico Дело в том, что браузер Опера заботливо запрашивает фавиконку, есть она или нет. А её нет. И получается два запроса на индексный файл. Чего нам совсем не надо. А пока что на данный момент должны иметь: 1. Всю структуру с прошлого занятия. К ней добавили: 2. Три страницы с ошибками. 3. Файл .htacces в корневой директории. 4. Каталог log с правами 777 5. Файл .htaccess внутри каталога log. Вот таким образом:
Это точка отправления. Возникшие вопросы можно задать здесь. |