Обзор необходимого программного обеспечения
Для того чтобы изучить язык РНР, вам понадобятся следующие программы:
• Web- сервер Apache
• Интерпретатор РНР 7
• Сервер баз данных MySQL
Операционная система
Все вышеперечисленное программное обеспечение может работать и под Windows и под Linux. Вы можете спокойно создавать PHP-сценарии на своем Windows-компьютере, а затем отправлять его на сервер. При этом также не волнуясь по поводу того, под какой операционной системой работает сервер (Linux или Windows). Главное, чтобы на нем были установлены РНР и MySQL. Однако, при создании профессиональных проектов иногда приходится учитывать особенности конкретной операционной системы. При этом стоит иметь в виду, что РНР изначально создавался под Unix-подобные операционные системы — Linux, FreeBSD, и т.п. Конечно, РНР и на Windows-хостинге работает исправно. Но существуют некоторые детали и возможности, которые нельзя учесть в силу разности ОС Windows и ОС Linux (Unix). Таким образом, использование РНР под Windows не позволяет полностью реализовать, как возможности операционной системы, так и возможности РНР. Но Вам не стоит волноваться по этому поводу, т.к. Вы только начинаете изучать PHP и пока Вас не должны волновать тонкости, знание которых подразумевает серьезную подготовку и глубокое понимание функционального устройства ОС. Для всех Ваших проектов вполне подойдет операционная система Windows, за редкими исключениями.
Web-сервер Apache
Функции Web-сервера выполняет не компьютер, а программа, установленная на нем. Так вот Apache и является той самой программой. Когда браузер пользователя подключается к Web-серверу и посылает запрос, то его обрабатывает именно Apache. Apache выполняет запрос и отправляет результат его выполнения браузеру.
Сервер Apache разработан и поддерживается организацией Apache Project. Первоначально сервер Apache был разновидностью сервера Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. Возникновение Apache было связано с тем, что в 1994 году ушел из проекта главный разработчик NCSA, оставив многих последователей самостоятельно разбираться в своем сервере. Со временем
начали появляться исправления и дополнения к серверу NCSA — так называемые patches (патчи). А в апреле 1995 года вышла первая версия сервера Apache, основанного на версии 1.3 сервера NCSA. Первая версия Apache просто вобрала в себя все известные исправления сервера NCSA. Да и само название Apache именно от этого —, «A PatCHy». Позже Apache стал самостоятельной разработкой. Сейчас сервер Apache поддерживается группой программистов- добровольцев Apache Group.
Сервер Apache разрабатывался для ОС Linux и Unix, но со временем были выпущены его версии и для ОС Windows и OS/2.
Apache — это стандарт Web-сервера в Интернете. Его основным конкурентом является IIS (Internet Information Server) от Microsoft, который работает под Windows.
Сервер Apache нам просто необходим — без него мы не сможем протестировать наши сценарии. Конечно, можно тестировать и без сервера, но тогда нужно будет представить себя браузером, или же использовать сервер хостинг-провайдера, но в этом случае затраты на Интернет сильно возрастут.
Интерпретатор PHP
PHP — это язык Web-программирования. Первая версия PHP была создана программистом Расмусом Лердорфом (Rasmus Lerdorf). В настоящее время создатели PHP называют его обработчиком гипертекста (HyperText Preprocessor). Это язык программирования, используемый на стороне сервера (server side scripting language), конструкции которого вставляются в HTML- код. В отличие от обычного HTML-кода Web-страницы, программа на PHP не передается браузеру, а обрабатывается на сервере интерпретатором PHP. Фрагменты HTML-кода остаются при этом без изменения, а операторы PHP выполняются и результат их обработки вставляется в HTML -код, после чего все вместе передается браузеру.
Программа на PHP может делать запрос к базе данных, создавать графические изображения, читать и записывать файлы, общаться с внешними серверами, то есть возможности такой программы практически не ограничены.
Сервер баз данных MySQL
MySQL — это современная система управления базами данных. Она распросотраняется совершенно бесплатно. В язык PHP включены функции для работы с этой системой. Стоит отметить, что на сегодня такое тесное триединство: Apache, MySQL и PHP просто не имеет конкурентов. Вместе с тем, PHP может работать с другими базами данных и с другими web- серверами. Рост популярности PHP совпал по времени с изменением подхода к созданию web-страниц. Если еще в середине 90-х годов было обычным явление, когда даже довольно крупные узлы состояли из сотен статических страниц, написанных полностью на HTML, то теперь обстоятельства изменились полностью. Разработчики web-узлов получили в свои руки средства, позволяющие им
обращаться к базам данных, обрабатывать формы и менять содержание web- страниц в зависимости от обстоятельств и реакции пользователя.
Становится все более актуальной потребность в передаче данных на мобильные телефоны, цифровое телевидение и так далее. В этих условиях использование баз данных в Интернет для хранения информации и программ для доступа к этой информации стало первостепенной задачей. Решение ее позволяет получить язык PHP7 и выше.
Поэтому не стоит удивляться тому, что такая гибкая и эффективная технология, как PHP, так быстро и стремительно завоевывает мир. Происходит это потому, что она вносит мобильность и движение в Интернет, позволяет создавать и реализовывать сценарии web-страниц, о которых еще несколько лет назад нельзя было даже и мечтать.
некоторые PHP фреймворки
Laravel — это чистая и стильная основа для разработки. Он избавит вас от спагетти кода. Поможет вам создавать прекрасные веб-приложения используя простой и выразительный синтаксис. Разработка должна доставлять удовольствие. Наслаждайтесь глотком свежего воздуха
Zend Framework -свободный фреймворк на PHP для разработки веб-приложений.. На данный момент — переименован в The Laminas Project, который является продолжением развития Zend Framework.
CodeIgniter — небольшой фреймворк с мощными функциями. Простой элегантный набор инструментов для создания полнофункциональных веб-приложений.




