Бондарев (1208177), страница 2

Файл №1208177 Бондарев (Проектирование серверного функционала информационного раздела сайта) 2 страницаБондарев (1208177) страница 22020-10-04СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации. ООП технология обладает тремя основными достоинствами:

– Легко освоить: ООП позволяет мыслить категориями повседневных объектов;

– Просто сопровождать: правильное проектирование обеспечивает простоту расширения и модификации объектно-ориентированных программ;

– Модульность: ускоряет процесс разработки т.к. компоненты объектно-ориентированных программ можно использовать в других программах, тем самым уменьшается избыточность кода и снижается риск появления ошибок при копировании.

Объектно-ориентированное программирование основывается на:

– Инкапсуляции;

– Полиморфизме;

– Наследовании.

Инкапсуляция – механизм, объединяющий данные и обрабатывающий их код в единое целое. Многие преимущества ООП обусловлены одним из его фундаментальных принципов – инкапсуляцией. Инкапсуляцией называется включение различных мелких элементов в более крупный объект, в результате чего программист работает непосредственно с этим объектом. Инкапсуляция приводит к упрощению программы, т.к. из нее исключаются второстепенные детали. Многие подробности «внутреннего устройства» скрываются от разработчика, что позволяет ему сосредоточиться на решении конкретных задач. В ООП эта возможность обеспечивается объектами, классами и средствами выражения иерархических связей между ними.

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

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

1.3.1 Классы и объекты в PHP

Класс – это основное понятие в объектно-ориентированном программировании. Классы образуют синтаксическую базу ООП. Их можно рассматривать как своего рода «контейнеры» для логически связанных данных и функций.

Экземпляр класса – это объект. Объект – это совокупность свойств (данных) и методов (функций) для их обработки. Свойства и методы называются членами класса. Все то, что поддерживает инкапсуляцию, является объектом.

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

Внутри объекта данные и код могут быть либо открыты, либо нет. Открытые (public) данные и члены класса являются доступными для других частей программы, которые не являются частью объекта. Закрытые (private) данные и члены класса доступны только внутри этого объекта.

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

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

Пример класса на PHP:

<?php

class SimpleClass {

// объявление свойства

public $value = 'значение по умолчанию';

// объявление метода

public function getValue() {

echo $this->var;

}

}

?>

1.3.2 Конструкторы

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

Конструкторы позволяют создать объект и инициализировать его свойства за один этап.

1.3.3 Деструкторы

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

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

1.4 Фреймворки в веб-разработке

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

Фреймворк – это программное обеспечение, которое облегчает разработку и ускоряет решение типовых задач конкретного языка программирования. Для разделения проекта на логические сегменты (модули), чаще всего используется одна из распространенных архитектур приложения (например, MVC). Как правило, все специфичные для проекта компоненты реализуются разработчиком на основе базовых программных модулей фреймворка, тем самым достигается высокая производительность, а также надежность решений. Фреймворк-платформа идеально подходит для создания сайтов, веб-сервисов и бизнес-приложений. Использовать фреймворк не обязательно, однако, с помощью него можно сэкономить время за счет повторного использования общих модулей для того, чтобы сосредоточиться на других важных задачах. Более того, фреймворк позволит быть уверенным, что разрабатываемое приложение будет соответствовать всем бизнес-правилам. Такое приложение будет структурировано, его легко поддерживать и обновлять.

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

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

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

Преимущества фреймворков:

– В отличие от самописных решений, разработка на фреймворке позволяет добиться простоты в поддержке проекта;

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

– Способствует применению объектно-ориентированного метода программирования.

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

Недостатки фреймворков:

– Сроки проектирования функционала на CMS короче, чем при использовании фреймворков. Многие функции приложения реализовываются индивидуально, т.к. фреймворки содержат только базовые компоненты бизнес-логики;

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

Популярные PHP-фреймворки для веб-разработки:

– Laravel;

– Symphony;

– Yii;

– Kohana;

– CodeIgniter.

1.5 PHP фреймворк Symfony

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

Сильные стороны Symfony:

– Высокая скорость работы за счет использования шаблонизатора Twig, который использует оптимизированный PHP-код;

– Гибкость в настройке: Symfony позволяет конфигурировать приложения в трех различных форматах: аннотации, XML, YML. Есть возможность использовать все конфигурации одновременно;

– Расширяемость: приложение можно в любое время расширять за счет подключения новых компонентов;

– Стабильность: длительное время поддержки версий;

– Ориентированность на разработчика: Symfony имеет очень удобную консоль, которая позволяет делать генерацию определенного кода с помощью специальных команд.

Symfony – это набор компонентов, таких как:

– HttpFoundation: компонент Symfony, который отвечает за обработку запросов и ответов приложения (request и response соответвенно). Также он содержит в себе классы, которые позволяют заниматься работой с файлами и сессией;

– Routing: данный компонент занимается маршрутизацией в приложении и позволяет конфигурировать, каким именно образом должны обрабатываться URL;

– Form: компонент, позволяющий легко и удобно генерировать, а также управлять формами: простыми или загрузочными;

– Validator: набор классов, который позволяет программисту проверять данные на корректность.

– Templating: инструмент для загрузки шаблонов. Поддерживает множественное наследование шаблонов (шаблонизатор Twig);

– Security: библиотека, созданная для решения вопросов, которые касаются различных типов безопасности, при создании приложения.

1.6 PHP и базы данных

Инструменты выборки больших объемов информации и эффективного хранения внесли огромный вклад в успешное развитие Интернета. Для хранения информации обычно используются базы данных. Корректная организация базы данных гарантирует более гибкие и быстрые возможности выборки данных. Она значительно упрощает реализацию инструментов сортировки и поиска, а проблемы прав доступа к информации решаются при помощи средств контроля привилегий, присутствующих во многих системах управления базами данных (СУБД). Кроме того, упрощаются процессы репликации и архивации данных.

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

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

1.7 Система управления базами данных

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

СУБД – это совокупность программных и языковых средств, которые предназначены для создания, работы и совместного использования БД многими пользователями. Современная СУБД содержит в своем составе программные средства создания баз данных, средства работы с данными и сервисные средства. С помощью средств создания БД проектировщик, используя язык описания данных (ЯОД), переводит логическую модель БД в физическую структуру, а на языке манипуляции данными (ЯМД) разрабатывает программы, реализующие основные операции с данными (в реляционных БД – это реляционные операции).

1.7.1 Классификация СУБД

Характеристики

Список файлов ВКР

Проектирование серверного функционала информационного раздела сайта
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6551
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее