Помощь в написании студенческих работ
Антистрессовый сервис

Интернет–сервис для автотранспортных и экспедиционных компаний для оптимизации всех этапов работы: от ведения заявок/перевозок/договоров до бухгалтерии, фи

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Программный комплекс «ТРАНС-МЕНЕДЖЕР» предназначен для автотранспортных и экспедиционных компаний для оптимизации всех этапов работы: от ведения заявок/перевозок/договоров до бухгалтерии, финансового контроля и анализа. Основной отличительной чертой программы является ее архитектура. В программе «ТРАНС-МЕНЕДЖЕР» основой единицей информации является «заявка», т. е. перевозка — транспортировка… Читать ещё >

Интернет–сервис для автотранспортных и экспедиционных компаний для оптимизации всех этапов работы: от ведения заявок/перевозок/договоров до бухгалтерии, фи (реферат, курсовая, диплом, контрольная)

Содержание Введение

1. Постановка задачи

2. Исследование предметной области

2.1 Программный комплекс CargoCRM 2.7

2.2 ПО Транс-Менеджер

3. Обоснование целесообразности написания своего сервиса

4. Обоснование выбора среды разработки

4.1 PHP: Процессор гипертекста

4.2 СУБД MYSQL

4.3 YII Framework

4.3.1YII в сравнении с другими фреймворками

4.3.2 Модель-представление-контроллер (MVC)

5. Основы JavaScript

5.1 Включение и исполнение JavaScript

6. Система «Учет-Логистик»

6.1 Раздел авторизации

6.2 Раздел «Фирмы»

6.3 Раздел «Операторы»

6.4 Раздел «Водители»

6.5 Раздел «Клиенты»

6.6 Раздел «Расходы»

6.7 Раздел «Инвестиции»

6.8 Раздел «Настройки»

6.9 Раздел «Отчеты»

6.10 Раздел «Заявки»

7. Обеспечение производственной и экологической безопасности

7.1 Характеристика производственной и экологической опасности проектируемого объекта

7.2 Обеспечение электробезопасности и защита от статического электричества

7.3 Производственная санитария и гигиена труда

7.4 Пожарная профилактика, методы и средства пожаротушения

7.5 Технологическая безопасность

7.6 Молниезащита

7.7 Защита окружающей среды

8. Экономическое обоснование проекта

8.1 Экономические затраты на создание автоматизированной системы мониторинга серверного окружения в рамках выполнения выпускной квалификационной работы

8.2 Экономические затраты на технические средства Заключение Список использованных источников

Введение

Тема грузоперевозок для России становится с каждым годом все более актуальной. Это естественно в условиях активного развития бизнеса страны. В сложной экономической системе все взаимосвязано, от успеха одной отрасли напрямую зависит эффективность других отраслей производства, а также развитие и укрепление международных отношений. По своей специфике российский рынок грузоперевозок несколько отличается от мирового. Это во многом обусловлено культурными и историческими особенностями. В первую очередь, разница выражается в том, что наибольшей популярностью в нашей стране пользуются автоперевозки. На Западе же значительную долю рынка занимают железнодорожныеи автоперевозки, в приближенных к мировому океану странах — морские грузоперевозки.

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

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

1. Высокая скорость доставки: Средняя скорость доставки груза автомобильным транспортом почти в 2 раза выше, чем такой же показатель жд транспорта и практически в 3 раза превосходит скорость доставки морским и речным транспортом. Безусловно, автоперевозки уступают по скорости авиаперевозкам, но у авиаперевозок есть два неоспоримых минуса: консолидация партий грузов перед отправлением и непосредственная стоимость услуги компании-перевозчика.

2. Удобные сроки доставки грузов: В отличии от железнодорожных, морских и тем более воздушных перевозок — при автоперевозках сроки отправления и доставки груза не зависят от сторонних факторов, как то: расписание движения поездов (судов, самолетов), загруженности транспортных магистралей. Все зависит напрямую от желания заказчика. Компания — перевозчик предоставляет транспорт для загрузки в удобное время, также как и доставить груз в любое приемлемое для клиента время.

3. Мониторинг состояния груза и маршрут движения: Как правило, современные компании — экспедиторы предоставляют заказчику возможность онлайн-мониторинга состояния груза. Также маршрут прохождения груза может быть выбран непосредственно самим заказчиком, и не зависит от железнодорожных магистралей, водных артерий или воздушных коридоров.

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

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

1. Ведение журнала поступающих заявок

2. Система ведения отчетов

3. Модуль ведения документации

4. Расчет операционных расходов.

5. Ведение базы водителей.

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

Данный сервис разрабатывался по заказу фирмы ООО «Транс Логистик», исходя из выставленных требований и в соответствии с предоставленным Техническим Заданием.

2. Исследование предметной области Наряду с утвержденным техническим заданием при разработке данного веб-сервера возникла необходимость рассмотреть существующие аналогичные сервисы. При анализе существующих решений фирм-конкурентов рассматривались такие критерии как: стоимость предоставляемых услуг, возможность расширения требуемого функционала, работа в сети Интернет, надежность хранения информации, интеграция с сайтом, предоставляющим информацию о текущих заявках на грузоперевозку. Сравнительный анализ в конечном итоге проводился, рассматривая программный комплекс CargoCRM 2.7 и программный продукт сайта ati. su — ПО Транс-Менеджер.

2.1 Программный комплекс CargoCRM 2.7

Рисунок 2.1

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

· регистрация и контроль входящих, исходящих заявок или рейсов на перевозку груза

· составление различных комбинаций по заявкам (одна входящая — несколько исходящих, несколько входящих — рейс, несколько входящих — несколько исходящих)

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

Ценовая политика и тарифы на пользование программным комплексом CargoCRM:

Рисунок 2.2

Программный комплекс CargoCRM 2.7 — является оффлайн системой. С надежно организованной системой хранения данных. Но при использовании данного продукта возникли следующие трудности:

1. наличие лишнего функционала, предоставляемого сервисом

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

3. невозможность интеграции данной информационной системы с сайтом mycago. su

4. крайне перегруженный интерфейс, неподходящий заказчику.

2.2 ПО Транс-менеджер Рисунок 2.2.1

Программный комплекс «ТРАНС-МЕНЕДЖЕР» предназначен для автотранспортных и экспедиционных компаний для оптимизации всех этапов работы: от ведения заявок/перевозок/договоров до бухгалтерии, финансового контроля и анализа. Основной отличительной чертой программы является ее архитектура. В программе «ТРАНС-МЕНЕДЖЕР» основой единицей информации является «заявка», т. е. перевозка — транспортировка груза со всеми сопутствующими работами, суммами, платежами и условиями выполнения. На всем протяжении выполнения перевозки заявка изменяет свое состояние, которое, соответственно контролируется менеджером. Т. е. заявка становится объектом полностью описывающим перевозку и отражающим ее состояние на каждый момент времени, и уже включает в себя все документы и контролируемые события.

ПО «ТРАНС-МЕНЕДЖЕР» предоставляет пользователям следующие функциональные возможности:

· сборные погрузки/разгрузки по перевозкам

· возможность произвольной конфигурации документов

· автозаполняемые «умные» справочники

· контроль дублирования контрагентов

· интеграция с 1С: Предприятие 7.7

· финансовый анализ

· финансовое планирование

· развернутые отчеты

· экспорт/импорт данных

· встроенный механизм обновления ПО и БД

· многоуровневое разграничение доступа

· экспорт документов в MS Excel

· экспорт документов в MS Word

· возможность вывода на печать всех отображаемых данных

· Интеграция программного комплекса «ТРАНС-МЕНЕДЖЕР» с 1С: Предприятие позволяет реализовывать следующие функции:

1. выписка счетов на основе данных БД «ТРАНС-МЕНЕДЖЕР»

2. выписка счетов-фактур на основе данных БД «ТРАНС-МЕНЕДЖЕР»

3. выписка актов на основе данных БД «ТРАНС-МЕНЕДЖЕР»

4. работа с журналом заявок:

5. установка диапазона дат для отображения заявок;

6. поиск/фильтрация заявок по введенной произвольной подстроке;

7. поиск/фильтрация заявок по состоянию заявки (перевозки);

ПО Транс-менеджер обладает рядом принципиальных плюсов: интеграция с 1С: Предприятие 7.7, возможность произвольной конфигурации документов. Но наряду с преимуществами данного решения есть и ряд недостатков, а именно: данный программный продукт не рассчитан на работу в оффлайне. Следовательно, вся база данных будет храниться локально. Что ведет к ненадежности хранения информации. Следующий недочет относится к тому, что продукт может работать только в операционных системах семейства Microsoft Windows. Что ведет к увеличению расходов фирмы на покупку лицензий на право пользования данной ОС.

Ниже приведены тарифы и цены на пользование ПО Транс-Менеджер Рисунок 3.2.2

3. Обоснование целесообразности написания своего сервиса После того, как был проведен сравнительный анализ аналогичных решений на рынке, было принято решение о необходимости написания своего сервиса. Тем самым учитываются недостатки конкурирующих фирм, внутренняя информация фирмы остается внутри самой фирмы-заказчика; сервис в дальнейшем можно будет интегрировать с сайтом mycargo. su, сервис полностью будет удовлетворять требованиям заказчика. При выборе такого решения, фирма несет единоразовые расходы на создание, и постоянные операционные расходы на хостинг и оплату доменного имени.

4. Обоснование выбора среды разработки Сервис «Учёт-Логистик» был разработан с помощью языка РНР и используя СУБД MySQL, а также YII фреймворк.

4.1 PHP: Процессор гипертекста

PHP — это язык программирования, созданный для генерации HTML страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).

Название PHP — рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.

В области программирования для Сети, PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета. 1]

В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1% (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), разработчики из израильского института технологий (Technion), переписали код с нуля: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета расположенного в Хайфе, Израиль. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP — аббревиатура, содержащая рекурсивный акроним (англ. PHP: Hypertext Preprocessor — «PHP: Препроцессор Гипертекста»). 1]

К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10% веб-серверов Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичноготестирования.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работалинеэффективно.

Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Обновления PHP 4 выпускались только до конца 2007 года. До этого же времени осуществлялась официальная поддержка четвертой версии. Далее до 8 августа 2008 года по мере необходимости будут появляться только критические обновления безопасности. С 9 августа четвертая версия PHP уйдет в историю.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов.

Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5. xx, даже несмотря на то, что уже имеется dev версия PHP 6.

Шестая версия PHP находится в стадии разработки с октября 2006 года.

В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.

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

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

PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает наследование (родительский класс указывается с помощью ключевого слова extends после имени класса) и интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов.

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

4.2 СУБД MYSQL

Программное обеспечение MySQL представляет собой очень быстрый многопоточный, многопользовательский надежный SQL сервер баз данных (SQL — язык структурированных запросов). Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения.

MySQL имеет двойное лицензирование. Это означает, что пользователи могут выбирать, использовать ли ПО MySQL бесплатно по общедоступной лицензии GNU General Public License (GPL) или приобрести одну из стандартных коммерческих лицензий MySQL .

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

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Благодаря открытой архитектуре и GPL лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

26 февраля 2008 года Sun Microsystems приобрела MySQL AB за $ 1 млрд.

MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня. В результате был выработан новый SQL интерфейс, но API интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» — доподлинно не известно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы. 2]

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули, которые можно загрузить с зеркал, представленных на официальном сайте.

MySQL имеет API для языков C, C++, Java, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы.NET, а также обеспечивает поддержку для ODBC посредством ODBC драйвера MyODBC.

В MySQL 5.0 значительно расширена функциональность, которая ставит MySQL в один ряд с коммерческими СУБД. Если раньше СУБД MySQL обвиняли в недостаточной поддержке стандарта SQL, то с появлением пятой версии этой популярной базы данных, появилась практически полная поддержка стандарта SQL. MySQL 5.0 содержит следующие нововведения: хранимые процедуры и функции; обработчики ошибок; курсоры; триггеры; представления; информационная схема (так называемый системный словарь, содержащий метаданные).

Версия MySQL 6.0 пока находится в стадии альфа-тестирования. Одно из главнейших нововведений версии 6.0 — новый механизм хранения данных Falcon, разработанный компанией MySQL AB, в качестве потенциальной замены для InnoDB компании InnoBase, приобретённой компанией Oracle.

4.3 YII framework

Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible).

Yii легко изучать и использовать, но для этого вам необходимы неплохие знания PHP и объектно-ориентированного программирования (ООП), т.к. Yii — это строго объектно-ориентированный фреймворк. Для использования Yii вам понадобится веб-сервер с поддержкой PHP 5.1.0+.

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

Особенности

· Cхема разработки — MVC (Модель-Представление-Контроллер)

· Database Access Objects (DAO) и Active Record

· Интегрированный jQuery (очень приятно)

· Формы ввода и проверки

· Web 2.0 виджеты

· Система проверки подлинности и авторизации

· Тематизация

· Веб-сервисы

· Кэширование

· Обработчик ошибок

· Безопасность

· Соблюдение стандартов XHTML

· Автоматическая генерация кода

· ООП концепция

· Отлично совмещается со сторонними библиотеками, например Zend

· Подробная документация

· Расширяемость

·

4.3.1 Yii в сравнении с другими фреймворками

Подобно большинству других PHP-фреймворков, Yii — это MVC-фреймворк.

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

Yii выпускается по лицензии BSD. Это означает, что вы можете использовать его бесплатно.

4.3.2 Модель-Представление-Контроллер (MVC)

Yii использует шаблон проектирования Модель-Представление-Контроллер (MVC, Model-View-Controller), который широко применяется в веб-программировании.

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

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

Следующая диаграмма отображает структуру приложения Yii:

Статическая структура приложения Yii

Рисунок 3.3.2

Типичная последовательность работы приложения Yii

Следующая диаграмма описывает типичную последовательность процесса обработки пользовательского запроса приложением:

Типичная последовательность работы приложения Yii

Рисунок 3.3.3

Пользователь осуществляет запрос посредством URL http://www.example.com/index.php?r=post/show&id=1, и веб-сервер обрабатывает его, запуская скрипт инициализации index.php.

Скрипт инициализации создает экземпляр приложения и запускает его на выполнение.

Приложение получает подробную информацию о запросе пользователя от компонента приложенияrequest.

Приложение определяет запрошенные контроллер и действие при помощи компонента urlManager. В данном примере контроллером будет post, относящийся к классу PostController, а действием —show, суть которого определяется контроллером.

Приложение создаёт экземпляр запрашиваемого контроллера для дальнейшей обработки запроса пользователя. Контроллер определяет соответствие действия show методу actionShow в классе контроллера. Далее создаются и применяются фильтры (например, access control, benchmarking), связанные с данным действием, и, если фильтры позволяют, действие выполняется.

Действие считывает из базы данных модель Post с ID равным 1.

Действие подключает представление show, передавая в него модель Post.

Представление получает и отображает атрибуты модели Post.

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

Сформированное представление вставляется в макет страницы.

Действие завершает формирование представления и выводит результат пользователю.

5. Основы JAVASCRIPT

JavaScript — это язык программирования сценариев. Является диалектом ECMAScript. Изначально разрабатывался как язык, включающий мощь языка Java, и одновременно простоту, которая позволила бы легко программировать непрограммистам.

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

5.1 Включение и исполнение JAVASCRIPT

Javascript подключается напрямую в HTML-файл. Самый простой способ — это написать javascript-команды внутрь тега

…Посчитали

В этом примере использовались следующие элементы:

Тег

Для указания запускаемой по клику функции в input был использован атрибут onclick. Это лишь вершина мощного айсберга javascript-событий.

5.1.3 Внешние скрипты

Обычно javascript-код вообще не пишут в HTML, а подключают отдельный файл со скриптом, вот так:

При этом файл /my/script.js содержит javascript-код, который иначе мог бы находиться внутри тега

...

При указании атрибута src содержимое тега игнорируется.

То есть одновременно подключить внешний файл и написать что-то внутри тега нельзя. Придется делать два разных тега

Показать весь текст
Заполнить форму текущей работой