Разработка web-сайта о кафе, барах и ресторанах города Челябинска




Скачать 439.03 Kb.
НазваниеРазработка web-сайта о кафе, барах и ресторанах города Челябинска
ТипЛитература
rykovodstvo.ru > Руководство эксплуатация > Литература

Разработка web-сайта о кафе, барах и ресторанах города Челябинска

Содержание





Разработка web-сайта о кафе, барах и ресторанах города Челябинска 1

Содержание 2

ВВЕДЕНИЕ 4

1 ОРГАНИЗАЦИОННО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ 6

1.1 Web-страница 6

1.2.1 HTML - язык разметки документов 8

1.2.2 CSS - язык описания внешнего вида документа 8

1.2.3 Apache - HTTP-сервер 9

1.2.4 РНР - серверный язык программирования 9

1.2.5 MySQL - система управления базами данных 10

1.3 CMS 10

1.3.1 CMS, взгляд со стороны 12

1.3.2 CMS Drupal 13

2 Практическая часть 47

2.1 Структура сайта 47

2.1.1 Административная часть 47

2.1.2 Главная страница сайта 48

2.1.3 Страницы со списком заведений конкретной категории 49

2.1.4 Страницы с информацией по конкретному заведению 50

2.2 Модели 52

2.2.1 Модель заведений - Firm 52

2.2.2 Модель категорий - Tag 53

2.2.3 Прочие модели 54

2.3 Контроллеры 54

2.3.1 Контроллер Firms 54

2.3.2 Контроллер Tags 55

2.4 Отображения 55

ЗАКЛЮЧЕНИЕ 56

Литература 57

Приложение A 58

Приложение Б 60

Приложение В 77

Приложении Г 80

ВВЕДЕНИЕ



Сегодня Internet - это важнейшее средство массовых коммуникаций, стоящее по своей значимости в одном ряду с прессой, телефоном и телевидением. На наших глазах за последние несколько лет мировая сеть Internet стремительно превратилась в одно из главных средств используемых для общения, развлечений, рекламы, торговли и источник разнообразной полезной информации для любой категории пользователей.

На сегодняшний день практически каждая организация имеет собственный web-сайт. В условиях использования современных информационных технологий – это необходимый фактор существования, позволяющий расширить поле рекламной деятельности и привлечь тем самым дополнительных клиентов.

С появлением Web-технологии компьютер начинают использовать совершенно новые слои населения. Спектр социальных групп, подключающихся к сети Интернет и ищущих информацию в WWW, все время расширяется за счет пользователей, не относящихся к категории специалистов в области информационных технологий.

С развитием технологий гипертекстовой разметки в Интернете стало появляться всё больше сайтов, тематика которых совершенно различна – от сайтов крупных компаний, повествующих об успехах компании и её провалах, до сайтов маленьких фирм, предлагающих посетить их офисы в пределах одного города.

Развитие новых информационных технологий и всеобщая компьютеризация привели к тому, что любой пользователь Интернета имеет возможность, не выходя из дома, получить полную информацию на интересующую его тему, например, информацию о заведениях своего города.

Целью данного проекта является создание сайта о кафе, барах и ресторанах города Челябинска.

Для достижения поставленной цели необходимо решить следующие задачи - предоставить возможность пользователям:

- быстро и удобно находить интересующие их заведения;

- просматривать подробную информацию о заведениях;

- оставлять свое мнение о заведениях на сайте;

- оценивать данное заведение;

- найти местоположение заведения на карте.

Создание данного сайта позволит помочь людям определится с выбором заведения для встречи с друзьями, романтического свидания или просто отдыха от трудного дня.

1 ОРГАНИЗАЦИОННО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ

1.1 Web-страница


сайт интернет гипертекст язык

Как известно, основной объем информации, доступной в сети Интернет, размещается во всемирной паутине - World Wide Web (WWW) -информационной системе, подобной гигантской библиотеке. В этой библиотеке информация представлена в виде связанных между собой документов, которые называются Web-страницами. Каждая Web-страница может содержать текст, рисунки, видео, звукозаписи, объемные миры и др. Такие страницы могут размещаться на компьютерах в любой части света. При подключении к WWW вы получаете равный доступ к сведениям, разбросанным по всему миру. Собрание страниц, объединенных некоторой общей темой и помещенных, как правило, на одном компьютере, называется Web-сайтом. Web-сайты подобны книгам, а Web-страницы - страницам этих книг. Компьютеры, на которых размещаются сайты, а также, программы, обеспечивающие поддержку сайтов, называются серверами. На одном сервере может размещаться множество Web-сайтов.

Просмотреть любую Web-страницу можно с помощью специальных программ - браузеров, наиболее популярные из которых - Internet Explorer, Opera, Mozilla Firefox, Safari и Google Chrome.

Web-страницы могут содержать гипертекстовые ссылки на другие страницы.

Гиперссылка – это текстовый или графический элемент Web-страницы, который является указателем перехода на другую Web-страницу. Различают внутренние и внешние гиперссылки. Внутренние – обеспечивают переход на другую часть данной страницы, файл или другую страннику данного Web-сайта. Внешние – указывают на файл или страницу другого Web-сайта. Если щелкнуть мышью по такой ссылке, то произойдет переход на другую Web-страницу, имеющую отношение к рассматриваемой или родственной теме, даже если страница помещена на сайте в другой части планеты.

Во всемирной паутине вы можете найти огромный массив данных - биржевые котировки и предложения работы, электронные доски объявлений, анонсы новых фильмов, литературные, экономические и политические обзоры, игры и многое другое.

Но Всемирная паутина - это не только сведения от организаций, компаний или фирм. Поскольку информацию в Web очень легко опубликовать, многие пользователи создают свои личные домашние страницы, где помещают информацию о себе, своих интересах, своих друзьях с фотографиями и другими сведениями.

Чтобы опубликовать в Интернете документ, содержащий некоторую информацию, достаточно поместить файл с этим документом на сервер, постоянно подключенный к Интернету. Сервер должен уметь общаться с другими серверами с помощью специального протокола передачи гипертекста HTTP - HyperText Transfer Protocol. Множество таких серверов и образует всемирную паутину - World Wide Web.
1.2 Web-технологии
Под Web-технологиями определяют всю совокупность средств для организации WWW (World Wide Web). Поскольку в каждом сеансе взаимодействуют две стороны – сервер и клиент, Web-технологии разделяются на две группы – технологии стороны сервера (server-side) и технологии стороны клиента (client-side).

К технологиям со стороны клиента относятся все технологии создания Web-страниц (HTML, CSS, PHP), а к технологиям со стороны сервера относятся технологии доступа к базам данных в сети Интернет (Apache, PHP, MySQL).

Программы-серверы предоставляют те или иные ресурсы для доступа программам-клиентам. Клиенты, если им понадобится какой-то файл или вообще какие-либо данные от сервера, формируют специальный клиентский запрос и посылают его на сервер. Сервер обрабатывает этот запрос и высылает серверный ответ, содержащий запрашиваемые данные или сообщение об ошибке, если нужные данные почему-то не доступны.

1.2.1 HTML - язык разметки документов


Для подготовки гипертекстовых документов используется язык HTML (Hyper Text Markup Language – язык разметки гипертекстовых документов), предоставляющий широкие возможности по форматированию и структурной разметке документов, организации связей между различными документами, средства включения графической и мультимедийной информации. HTML-документы просматриваются с помощью специальной программы - браузера. Наибольшее распространение в настоящее время получили браузеры Internet Explorer, Opera, Mozilla FireFox, Google Chrome и Safari.

HTML является упрощенной версией стандартного общего языка разметки – SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки.

1.2.2 CSS - язык описания внешнего вида документа


Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование — от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Гораздо лучше пойти другим путем: подключить к странице внешний файл, в котором, с помощью правил языка CSS задать форматирование страницы. Другими словами, файл CSS выполняет роль некоего шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать практически на любом сервере без каких-либо ограничений.

1.2.3 Apache - HTTP-сервер


Apache - веб-сервер (программа) с открытым исходным кодом. Используется на большинстве современных веб-серверах. Обладает высокой надежностью и расширяемостью. Apache реализует современные протоколы Интернет, такие как HTTP/1.1 – то есть, на его основе можно создавать веб-сайты, и размещать их в интернете.

1.2.4 РНР - серверный язык программирования


РНР (PHP: Hypertext Preprocessor, ранее Personal Home Page tools) — скриптовый язык программирования общего назначения, используемый, как правило, для придания web-страницам элементов интерактивности. Код, написанный на языке РНР, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий РНР. Синтаксис языка сходен с синтаксисом PERL, Java и С, благодаря чему не вызывает каких-либо трудностей при изучении.

PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Для более простого и эффективного написания программ на PHP, используют фреймворки - комплекс библиотек, унифицирующих и расширяющих возможности языка.

1.2.5 MySQL - система управления базами данных


MySQL – сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании, является идеальным решением для малых и средних приложений.

Преимущества MySQL, по сравнению с другими системами управления базами данных в том, что она бесплатна, при этом имеет хорошо развитый функционал, а так же сильно распространена на современных серверах.

1.3 CMS



Систе́ма управле́ния содержи́мым (конте́нтом) (англ. Content management system, CMS) — информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым): Главной целью такой системы является возможность собирать в единое целое и объединять на основе ролей и задач все разнотипные источники знаний и информации, доступные как внутри организации, так и за ее пределами, а также возможность обеспечения взаимодействия сотрудников, рабочих групп и проектов с созданными ими базами знаний, информацией и данными так, чтобы их легко можно было найти, извлечь и повторно использовать привычным для пользователя образом.

В системе управления содержимым могут быть определены самые различные данные: документы, фильмы, фотографии, номера телефонов, научные данные и так далее. Такая система часто используется для хранения, управления, пересмотра и публикации документации. Контроль версий является одним из основных её преимуществ, когда содержимое изменяется группой лиц.

Существует множество готовых систем управления содержимым сайта, в том числе и бесплатных. Их можно разделить на три типа по способу работы:

Генерация страниц по запросу. Системы такого типа работают на основе связки «Модуль редактирования → База данных → Модуль представления». Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что в свою очередь создаёт дополнительную нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.

Генерация страниц при редактировании. Системы этого типа суть программы для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статических страниц. При таком способе в жертву приносится интерактивность между посетителем и содержимым сайта.

Смешанный тип. Как понятно из названия, сочетает в себе преимущества первых двух. Может быть реализован путём кэширования — модуль представления генерирует страницу один раз, в дальнейшем она в несколько раз быстрее подгружается из кэша. Кэш может обновляться как автоматически, по истечении некоторого срока времени или при внесении изменений в определённые разделы сайта, так и вручную по команде администратора. Другой подход — сохранение определённых информационных блоков на этапе редактирования сайта и сборка страницы из этих блоков при запросе соответствующей страницы пользователем.

1.3.1 CMS, взгляд со стороны


Теперь следует рассмотреть, как системы управления представляются различным пользователям. Кто такие пользователи? Фактически к пользователям систем управления можно причислить всех тех, кто хоть как-то с ними взаимодействует. К примеру, пользователями обычно становятся следующие лица:

  • Будущие и настоящие посетители разрабатываемого /разработанного веб-проекта (гости, зарегистрированные и незарегистрированные пользователи), в корпоративных проектах в эту группу войдут и сотрудники предприятия;

  • Контент-менеджеры, модераторы, редакторы, администраторы (владельцы);

  • Программисты и интеграторы (пользователи CMS «как продукта»).

Посетители – это самая многочисленная и самая значительная группа пользователей. Без них любой проект перестал бы развиваться (а возможно и вообще существовать), поэтому за их внимание и ведется столь жесткая борьба. Посетитель, он никогда не вникает в технические подробности – ему абсолютно безразлично, на базе какой системы управления функционирует разрабатываемый проект, ему важен результат: информация и способ ее получения. Систему управления посетитель не видит в таком виде, в каком ее видит доверенные участники вашего проекта (например, модераторы), вся система ль него – это страницы с материалами, навигационные элементы, формы обратной связи, подсказки и т.д, но не более того. Пользователь – это типичный потребитель, и чем проще и быстрее интересная информация «извлекается» из вашего проекта, тем меньше он задумывается о других, альтернативных проектах. Поэтому недостаточно создать удобный и хорошо настроенный проект, необходимо также позаботиться и о его содержании – оно должно быть интересным и актуальным.

Контент-менеджеры, модераторы, редакторы, администраторы – это доверенные лица, которым делегирован набор дополнительных прав. Пользователям такого уровня система управления предоставляется в расширенном виде – к интерфейсу системы добавляются дополнительные элементы управления или целые административные разделы. В таких разделах администратор может легко и быстро добавлять, например, новых пользователей, а модератор может вносить правки в остальные посетителями сообщения и делать другие разрешенные администратором действия.

1.3.2 CMS Drupal


Drupal — мощная система управления контентом, созданная группой энтузиастов со всего мира. С ее помощью можно создать сайт практически любой сложности — от небольшого личного блога до огромного портала. Благодаря мощному API, большому количеству подключаемых модулей и тем оформления, Drupal может удовлетворить любые ваши потребности.

Проект начат в 2000 году, программистом Драйесом Байтаертом.

Название Drupal является английским произношением голландского слова "druppel" ("капля"). Так что название этой CMS, в отличие от CMS Joomla, не несёт никакого смысла.

Установка Drupal


Drupal устанавливается за четыре шага:

  1. Рспаковывается архив.

  2. Папки и файлы Drupal загружаються на локальный сервер “Denwer”, по адресу home/jetaimes/www.

  3. Создаем базу данных mySQL на сайте: http://localhost/Tools/phpMyAdmin/index.php.

  4. Прописав в браузере jetaimes/ начинаем установку:


На следующей странице Drupal попросит создать файл settings.php в папке /sites/default. Этот файл нужно создать из файла default.settings.php. Нужно именно создать новый файл, а не переименовать существующий. После этого в этой папке должно быть два файла: default.settings.php и settings.php. Нажимаем ссылку обновите страницу в последней строке.

На следующей странице вводим информацию о базе данных (название, пользователя и пароль) и нажимем кнопку Сохранить. Секция Расширенные настройки не понадобится.


Откроется и вскоре исчезнет страница Установка Drupal, во время которой Drupal внесёт изменения в файл settings.php.

Следующая страница будет находится на экране дольше. Т.к. будет выполняться перевод интерфеса на русский язык. На общих хостингах с небольшими ресурсами именно эта операция проходит не полностью, т.к. установленного ограничения на время выполнения скрипта не хватает на импорт переводов.


После того, как переводы будут импортированы, нужно заполнить общую информацию о сайте (название, почтовый адрес, часовой пояс, поддержка чистых ссылок, оповещения) и информацию об аккаунте администратора.


На следующей странице будет проведена установка языка.


На последней странице установки Drupal сообщит о её завершении и предложит войти в аккаунт. Нажмите ссылку войти в свой аккаунт.

Мы окажемся в аккаунте администратора. На странице будет находиться сообщение, которое выводится на первую страницу сайта в том случае, когда нет не одного документа выведенного на первую страницу. Теперь сделайте то, что обычно не делают: прочитайте эту страницу.


После установки удалять файл install.php нет необходимости, т.к. в install.php есть Verify existing settings.php и установка запуститься только в том случае, если файл settings.php содержит записи совпадающие с default.settings.php. Но если вас все-таки смущает наличие этого фала, вы конечно же можете удалить как install.php, так и все файлы с расширением txt: CHANGELOG.txt, COPYRIGHT.txt, INSTALL.txt, INSTALL.mysql.txt, INSTALL.pgsql.txt, LICENSE.txt, MAINTAINERS.txt, UPGRADE.txt.

Ход выполнения приложения


Рисунок 1 показывает, в какой последовательности происходит выполнение приложения:



Рисунок 1 - Ход выполнения приложения
Файл index.php выступает в роли фронт-контроллера, он инициализирует подключение остальных частей кода CodeIgniter.

Роутер анализирует HTTP запрос, чтобы определить, что надо сделать с этим адресом.

Если существует кеш этой страницы, то он напрямую выдается в браузер, минуя логику приложения.

Безопасность. Перед загрузкой контроллера приложения HTTP запрос и любая информация, отправленная пользователем, фильтруется на предмет безопасности.

Контроллер загружает модель, ядро библиотек, плагины, хелперы и прочие ресурсы, необходимые для выполнения этого запроса.

Далее подключается отображение, и данные отдаются в браузер пользователя. Если включено кеширование, то отображение записывается на диск, чтобы в следующий раз быть считанным с него.

URL в CodeIgniter


По умолчанию адреса в CodeIgniter являются дружественными для поисковых систем и понятны для человека. CodeIgniter использует подход, основанный на сегментах адреса:

www.your-site.com/news/article/my_article

URL состоит из сегментов, соответствуют архитектуре MVC и, как правило, строятся таким образом:

www.your-site.com/class/function/ID

В первом сегменте описывается контроллер class, к которому происходит обращение.

Во втором сегменте происходит ссылка на функцию function или метод, который необходимо вызвать.

В третьем и последующих сегментах описываются переменные, которые будут переданы в эту функцию.

Класс URI и URL хелпер содержат функции, которые упрощают работу с информацией в URI. Кроме того все адреса можно переопределять при помощи Роутинга, что помогает сделать приложение более гибким.

По умолчанию, index.php будет подключаться URL:

www.your-site.com/index.php/news/article/my_article

Чтобы удалить этот файл из запроса, необходимо сделать несколько записей в файле .htaccess. Вот пример файла, в котором будут перенаправлены все запросы, кроме указанных:

RewriteEngine on

RewriteCond $1 !^(index\.php|images|robots\.txt)

RewriteRule ^(.*)$ /index.php/$1 [L]

В приведенном выше примере, любой запрос HTTP, помимо запросов к index.php, изображениям и robots.txt, трактуется как запрос к файлу index.php.

В файле config/config.php можно указать суффикс, который будет добавляться ко всем адресам, созданным CodeIgniter. Например, если URL такой:

www.your-site.com/index.php/products/view/shoes ,

то можно добавить произвольный суффикс, например .html, сделав все страницы похожими на:

www.your-site.com/index.php/products/view/shoes.html

Подключение строки запроса.

В некоторых случаях нужно использовать строки запроса в URL:

index.php?c=products&m=view&id=345

CodeIgniter опционально поддерживает эту возможность, которая может быть подключена в файле application/config.php. В конфигурационном файле есть следующие строки:

$config['enable_query_strings'] = FALSE;

$config['controller_trigger'] = 'c';

$config['function_trigger'] = 'm';

Если изменить «enable_query_strings» в положение TRUE, то эта возможность активируется. Контроллеры и функции в них будут доступны при помощи определенных «триггерных» слов:

index.php?c=controller&m=method

Контроллеры


Контроллеры — это сердце приложения. В контроллере определяется, как необходимо реагировать на тот или иной запрос.

Контроллер это простой файл с классом, названным так чтобы ассоциироваться с URI, по которому он будет вызван.

Рассмотрим URI:

www.your-site.com/index.php/blog/

В приведенном примере CodeIgniter попытается найти контроллер с именем blog.php и загрузить его.

Когда имя контроллера будет найдено в первом сегменте URL — он будет загружен.

Для примера создадим простой контроллер, чтобы посмотреть его в действии. Используя текстовый редактор, создаем файл blog.php и вставляем в него следующий код:

class Blog extends Controller {

function index()

{

echo 'Hello World!';

}

}

?>

Затем сохраняем этот файл в директории application/controllers/.

Теперь заходим на сайт, используя примерно такой адрес:

www.your-site.com/index.php/blog/

В итоге на сайте должны увидеть Hello World!.

Отмечу особенность, что имена классов должны начинаться с прописных букв.

Правильный вариант:

class Blog extends Controller {

}

?>

Неправильный вариант:


class blog extends Controller {

}

?>
Во время работы необходимо убедится в том, что созданный контроллер наследует главный контроллер, чтобы внутри первого был доступен весь функционал второго.

Функции.

В приведенном выше примере функция называется index(). Функция с названием «index» всегда будет загружаться по умолчанию, если второй сегмент в URL не определен. Еще один способ просмотреть сообщение «Hello World» — обратиться по этому адресу:

www.your-site.com/index.php/blog/index/

Второй сегмент адреса определяет, какая функция контроллера должна быть вызвана.

Для проверки добавим функцию в ранее созданный контроллер:


class Blog extends Controller {

function index()

{

echo 'Hello World!';

}

function comments()

{

echo 'Взгляни сюда!';

}

}

?>
Чтобы посмотреть на работу функции comment, загружаем следующий адрес:

www.your-site.com/index.php/blog/comments/ ,

где можно увидеть новое сообщение «Взгляни сюда!».

Передача сегментов URL функциям.

Если URI содержит более двух сегментов — они будут переданы функции в качестве параметров.

Например, можно вызвать такой адрес:

www.your-site.com/index.php/products/shoes/sandals/123

Функция получит 3 и 4 сегменты в URL («sandals» and «123»):

class Products extends Controller {

function shoes($sandals, $id)

{

echo $sandals;

echo $id;

}

}

?>
Следует отметить, если вы используете URI Роутинг, то сегменты адреса, направленные в функцию, будут сегментами route-адреса.

Объявление контроллера по умолчанию.

Можно сказать CodeIgniter, какой контроллер необходимо загружать, если URI не объявлен. Это возникает при запрашивании корня сайта. Чтобы установить контроллер, выполняемый по умолчанию, в файл application/config/routes.php следует установить эту переменную:

$route['default_controller'] = 'Blog';

Где Blog — это имя контроллера, который нужно использовать. При загрузке основного index.php, появится приветственное сообщение «Hello world».

Переадресация вызова функции.

Как было отмечено выше, второй сегмент URI определяет, какая функция должна быть вызвана в этом классе. CodeIgniter позволяет переопределить это поведение при помощи функции _remap():
function _remap()

{

// Здесь любой код...

}
Если контроллер содержит функцию _remap(), то она всегда будет определять, какую функцию загружать независимо от того, что написано в URL запросе. Она перекрывает нормальное поведение контроллера, создавая свой локальный роутинг.

В _remap() передается название вызываемой функции, обычно это второй сегмент в URI:
function _remap($method)

{

if ($method == 'some_method')

{

$this->$method();

}

else

{

$this->default_method();

}

}
Результат обработки.

CodeIgniter имеет класс вывода, который принимает готовое отображение и отдает его браузеру пользователя. В некоторых случаях может понадобиться пост-обработка сформированного отображения, и выдача ее браузеру самостоятельно. CodeIgniter позволяет добавить в контроллер функцию _output(), которая будет принимать готовые к выдаче данные.

Если контроллер содержит функцию называющуюся _output(), то в нее всегда будут передаваться отрендеренные отображения, вместо того чтобы отдавать их напрямую в браузер. Первый параметр этой функции будет содержать окончательный вывод.

Например:
function _output($output)

{

echo $output;

}
Функция _output() будет получать данные в их окончательном состоянии. Бенчмарк и загрузка будут посчитаны, файл будет записан в кеш, все заголовки будут отправлены (при использовании Output Class), и только после этого будет выполнена функция _output(). Если на странице выводится информация о времени выполнения и нагрузке скриптом, то эта информация не будет точной, т.к. в ней учитывается только время исполнения до вызова _output().

Защищенные функции.

В некоторых случаях может понадобиться скрыть ту или иную функцию от публичного доступа. Чтобы сделать функцию приватной — нужно добавить символ подчеркивания перед ее названием, и она не будет отображаться при запросе через URL. Например, если функция называется так:
function _utility()

{

// какой-то код

}
Попытки получить к ней доступ, набрав ее имя в запросе, окажутся неудачными:

www.your-site.com/index.php/blog/_utility/

Организация контроллеров в подпапках.

При разработке большого проекта может оказаться вполне удобным деление контроллеров по подпапкам. CodeIgniter позволяет это сделать.

Просто нужно создать внутри папки application/controllers каталог и разместить класс контроллера внутри него.

При использовании этой возможности в первом сегменте URL необходимо указать папку с этим контроллером. Например, контроллер расположен здесь:

application/controllers/products/shoes.php

URI для вызова этого контроллера будет выглядеть так:

www.your-site.com/index.php/products/shoes/123

Каждая из вложенных папок может содержать контроллер по умолчанию, который будет вызван, если URL не содержит название контроллера. Нужно просто назвать его именем по умолчанию, которое указано в файле application/config/routes.php.

Так же вы можете переадресовать контроллеры, используя URI Роутинг.

Конструкторы классов.

Если есть необходимость в каком-либо из контроллеров использовать конструктор, то необходимо разместить в нем следующую строчку:

parent::Controller();

Причина этого в том, что собственный конструктор будет перекрывать конструктор главного контроллера, поэтому необходимо вызвать его вручную.

Можно отметить, что в PHP 4 конструктор — это просто функция, название которой совпадает с названием класса:

class Blog extends Controller {

function Blog()

{

parent::Controller();

}

}

?>
В PHP 5 конструктор использует следующий синтаксис:


class Blog extends Controller {
function __construct()

{

parent::Controller();

}

}

?>
Конструктор нужен, если надо установить некоторые переменные в значения по умолчанию до того, как будет вызвана функция класса. Конструктор не может возвращать значение, но он может проделывать некоторую работу, по инициализации класса.

Отображения


Отображение — это простая веб-страница или ее фрагмент, например шапка, подвал, боковая панель или т.п. Одни отображения могут быть очень гибко встроены в другие отображения.

Отображения никогда не вызываются напрямую. Они должны быть загружены из контроллеров. В модели MVC контроллер управляет всем происходящим, именно в нем должно быть определено какое отображение загружать.

Для ранее описанного контроллера создадим отображение.

Создание отображения.

Используя текстовый редактор, создадим файл с названием blogview.php и вставим в него следующие строки:





Мой блог





Добро пожаловать в мой блог!


Похожие:

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconГриль карусельный серии iej-266/268 Инструкция по эксплуатации
Электрический гриль серии iej легок в эксплуатации, уходе и безопасен в использовании. В основном используется в гостиницах, барах,...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconДипломная работа по специальности 230201. 65 «Информационные системы...
Разработка информационного web-сайта на основе системы «1с-битрикс: Управление сайтом»

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconI. общие положения
Настоящие Правила благоустройства территории города Челябинска (далее – Правила) разработаны на основе законодательства Российской...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconОтраслевое соглашение между Комитетом по делам образования города...
Комитетом по делам образования города Челябинска и Координационным советом местных организаций Профсоюза работников народного образования...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconИнструкция по установке приложения «Удостоверяющий центр ммвб» Общая...
Спиу (бд спиу), к которой web-приложение обращается за информацией по оплате услуг цус ммвб

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconТехническое задание на поставку оргтехники и расходных материалов...
Объект закупки: Поставка высокоскоростных настольных монохромных лазерных принтеров и расходных материалов к ним для нужд Управления...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconДоклад о состоянии окружающей природной среды на территории города...
...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска icon«Дипломный проект разработка дизайна интерьера кафе бара»

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconЗадание
Краснопольский проспект, улица Александра Шмакова, улица Минко, граница города в Курчатовском районе города Челябинска

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconДоклад муниципального общеобразовательного учреждения средней общеобразовательной...
Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №123 (моу сош №123) создано в соответствии с Постановлением...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconПоложение об отделе субсидий Ленинского управления социальной защиты...
Отдел субсидий (далее по тексту отдел) является структурным подразделением Ленинского управления социальной защиты населения Администрации...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconЗаместитель Главы Администрации города по городскому хозяйству А. Р. Любимов Регламент
Регламент предусматривает единые правила установки (общедомовых) приборов учета в домах жилищного фонда города Челябинска

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconИнструкция по настройке рабочего места при подключении к web сервисам...
М сэд нрд) по «Луч» в режиме «web канала» или лрм сэд нрд «web-кабинет Депозитария/Клиринговой организации», по «web-кабинет корпоративных...

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconПоложение о 51 летнем слете юных туристов г. Челябинска Цели и задачи...
Проверка готовности туристских групп к совершению безаварийного туристского похода

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconО проведении запроса котировок от 22. 10. 2014 № зк-дсо-199
Предмет закупки: Право на заключение договора на оказание услуг по обновлению информационного ресурса (web-сайта) втрк «Архыз»

Разработка web-сайта о кафе, барах и ресторанах города Челябинска iconИнформатики и радиоэлектроники
«Интерфейсы. Реализация нескольких интерфейсов с одним и тем же методом. Понятие Web-сервиса. Инфраструктура Web-сервиса. Взаимодействие...


Руководство, инструкция по применению






При копировании материала укажите ссылку © 2018
контакты
rykovodstvo.ru
Поиск