1
0
Quellcode durchsuchen

Герасименко Артём

u21geras vor 1 Jahr
Ursprung
Commit
a64b714d11
1 geänderte Dateien mit 60 neuen und 11 gelöschten Zeilen
  1. 60 11
      Лекции/PHP/PHP.md

+ 60 - 11
Лекции/PHP/PHP.md

@@ -1,22 +1,71 @@
-# PHP 
+# PHP
 
-**Инструментарий. Выбор IDE**
-PHP относится к группе так называемых "интерпретируемых" или "скриптовых" языков. Это означает, что файл с командами PHP хранится на сервере просто как текстовый файл, а специальная программа-интерпретатор выполняет его ("интерпретирует") каждый раз, когда пользователь запросил страницу, связанную с этим скриптом.
+PHP (Hypertext PreProcessor, «препроцессор гипертекста») — это скриптовый язык программирования. Имеет открытый исходный код. Изначально создавался для разработки веб-приложений, но в процессе обновлений стал языком общего назначения.
 
-На самом деле всё обстоит несколько сложнее: интерпретатор сначала производит синтаксический анализ всех задействованных файлов, потом проводит компиляцию исходных текстов, и только после этого выполняет скомпилированный код. Под компиляцией в PHP понимается перевод срипта из текстового представления в внутренний формат интерпретатора.
+![photo](https://blog.skillfactory.ru/wp-content/uploads/2023/02/php.png)
 
-Неоспоримое достоинство PHP (как и любого скриптового языка) - возможность быстрого исправления ошибок кода "на лету". Т.е. программисту не нужно устанавливать и запускать специальный редактор типа Visual Studio и перекомпилировать весь исходный код. Достаточно подключиться к серверу, открыть файл скрипта в обычном блокноте и исправить ошибку.
+## Где и для чего используется PHP
+Язык программирования PHP спроектировал датский программист Расмус Лердорф в 1995 году как инструмент для создания интерактивных и динамических веб-сайтов. Расшифровывается как «Hypertext Preprocessor» (гипертекстовый предобработчик). Сейчас PHP активно используют веб-разработчики для создания сайтов и веб-приложений. Это наименее конкурентный язык для работы. Его использует большинство сервисов, и, скорее всего, ситуация не изменится в ближайшие 10 лет. Поэтому специалисты очень востребованы.
 
-В принципе, любой, даже очень сложный сайт можно сделать в стандартном блокноте. Только это займёт очень много времени и сил. Специально для Web-разработчиков созданы специальные программы-редакторы, существенно ускоряющие процесс разработки. Выбор конкретной программы - дело привычек и вкуса. мы рассмотрим наиболее значимые на сегодняшний день продукты: PHP Designer, Delphi for PHP и Zend Studio
+Основная область применения — разработка скриптов, которые работают на стороне сервера. Также можно создавать скрипты командной строки и GUI-приложения (приложения с графическим интерфейсом пользователя).
 
-**PHP Designer** - программа наиболее лёгкая в освоении, но и наиболее бедная по функциям. В программу заложена подсветка синтаксиса всех основных web-языков, легко ставится и настраивается. Наверное, лучший вариант для разработки одностраницных скриптов. Из недостатков можно отметить очень слабую поддержку многофайловых проектов, отсутствие средств для работы с базами данных, слабая поддержка контекстной справки и автодополнения.
+PHP используется в проектах разных масштабов: от браузерной игры и социальной сети до крупных веб-приложений в интернете, таких как Facebook, ВКонтакте, Google, W3C, Yahoo, NASA. На PHP написаны многие системы управления контентом (CMS), например Drupal, WordPress, Joomla. Также он использовался при разработке популярных фреймворков для создания сайтов, например Yii2, Laravel, Symfony.
 
-**Delphi for PHP** ([http://www.codegear.com/](http://www.codegear.com/products/delphi/php)) - более комплексное решение, предоставляемое компанией CodeGear. Главное отличие от всех остальных продуктов - возможность графического проектирования интерфейсов с описанием событий. Это значит, что разработчику при проектировании достаточно мышкой "бросить" на форму кнопку, привязать к ней список команд и кнопка будет работать без дополнительных усилий! Все необходимые функции будут добавлены стандартными библиотеками, входящими в состав Delphi for PHP. Серьёзных недостатков у Delphi for PHP не отмечено, программа удобная в работе, с понятным и настраиваемым интерфейсом, есть встроенный веб-сервер для отладки скриптов. Огорчает только слишком сильная привязанность к собственным классам и библиотекам.
+## Свойства PHP
+PHP — язык с динамической типизацией. Это означает, что переменная не определяется жестко и заранее (если число, то int, если строка — string). Динамическая типизация позволяет присваивать одной и той же переменной несколько значений: она может быть массивом, строкой, числом, объектом и т. д. Динамическая типизация удобная и гибкая, но приводит к потреблению большого количества оперативной памяти и уменьшает скорость работы.
 
-И, наконец, **Zend Studio** ([http://www.zend.com](http://www.zend.com/)). Авторы этой IDE - разработчики PHP и всевозможных средств для работы с ним. Zend Studio одинаково хорошо подходит как для разработки одностраничных скриптов, так и для разработки сложных порталов с сотнями файлов кода. Подсветка синтаксиса большинства Web-языков, возможность локальной и удалённой отладки скриптов, удобное автодополнение, возможность работы с базами данных и множество других преимуществ. Огорчает только одно - стоимость годовой лицензии почти 400 у.е.
+Также PHP — интерпретируемый язык. Это означает, что код, который написан на PHP, не компилируется (преобразуется в машинный), а выполняется строка за строкой с помощью программы-интерпретатора, которая читает каждую из них и выполняет то, что там указано.
 
-К сожалению, для начинающих разработчиков, все перечисленные программы - платные. Однако есть много достойных бесплатных вариантов, вполне достаточных для освоения основ. Например - **PHP Expert Editor** - мощный и бесплатный редактор с подсветкой синтаксиса, подстановкой функций и переменных, встроенными шаблонами скриптов, настраиваемыми ярлыками, плагинами и многим другим. По запросу "бесплатный редактор PHP" Гугл и Яндекс выдают более полумиллиона ссылок, так что программу можно найти на любой вкус.
+Возможности
+Вот некоторые из ключевых возможностей PHP:
 
-Итак, выбор за вами. Для начала вполне достаточно **PHP Expert Editor** или **Notepad++**. Ведь всё, что нам понадобится в первых уроках - удобный текстовый редактор c подсветкой синтаксиса. Несколько позже, когда вы привыкнете к языку и особенностям работы, можно будет задуматься о приобретении более мощной среды разработки.
+- Динамические веб-страницы: PHP позволяет создавать динамические веб-страницы, которые могут адаптироваться к пользовательскому вводу и предоставлять интерактивные функции.
+- Обработка форм: PHP легко интегрируется с HTML-формами, что делает его идеальным для обработки данных, отправляемых с веб-страниц.
+- Работа с базами данных: PHP имеет широкую поддержку для множества систем управления базами данных (например, MySQL, PostgreSQL, SQLite), что делает его отличным выбором для создания веб-приложений с базами данных.
+- Работа с файлами: PHP предоставляет функции для чтения, записи и обработки файлов на сервере, что полезно для управления содержимым сайта.
+- Создание сессий: PHP может создавать и управлять сессиями пользователей, что полезно для отслеживания состояния пользователя между запросами.
+- Работа с изображениями: PHP позволяет манипулировать изображениями, изменять их размеры, форматы и многое другое.
+- Создание API: PHP может использоваться для создания веб-сервисов и API, что делает его полезным для разработки клиент-серверных приложений.
+- Интеграция с другими технологиями: PHP может легко интегрироваться с другими технологиями, такими как HTML, CSS, JavaScript, что позволяет создавать полноценные веб-приложения.
+- Множество библиотек и фреймворков: Существует множество библиотек и фреймворков на PHP, которые упрощают разработку и предоставляют готовые решения для различных задач.
+- Кросс-платформенность: PHP поддерживается на различных операционных системах (Windows, Linux, macOS) и работает с различными веб-серверами (Apache, Nginx).
 
+## Чем PHP отличается от других языков программирования
 
+CSS- и НТМL-файлы, как и файлы изображений, сервер отправляет сразу клиенту (браузеру), независимо от содержания. В отличие от них PHP-файлы содержат код, который интерпретируется на сервере. Клиент (браузер) получает не сам PHP-код, а результат его исполнения, который, как правило, является чистым CSS и HTML. Пользователь не может увидеть исходный код программы. Это хорошо с точки зрения безопасности, так как в этом случае трудно понять логику сайта.
+
+PHP хранит состояние, созданное в текущий момент времени. В отличие от классических компилируемых языков программирования, которые работают все время от запуска до остановки программы, PHP-скрипт начинает выполняться с момента обращения веб-сервера и заканчивает (забывает все, что знал), когда возвращает сгенерированный пакет данных обратно веб-серверу.
+
+## Версии PHP и их различия
+- PHP 3.0. Первая версия, напоминающая современный интерпретатор, вышла в 1997 году. Главное преимущество — возможность расширения ядра и добавления дополнительных модулей сторонними разработчиками. В версии 3.0 появилась поддержка ООП-синтаксиса. Также был усилен и сам синтаксис языка.
+
+- PHP 4.0. Появилась в 2000 году и получила обновленный движок Zend Engine (название сложилось из имен его создателей — владельцев Zend Technologies). Значительно улучшилась производительность. Версия стала поддерживать больше серверов и HTTP-сессий. Обработка вводимой пользователем информации стала безопаснее. Были созданы несколько новых языковых конструкций.
+
+- PHP 5.0. Вышла в 2004 году. Появлению предшествовали серия пререлизов и долгая разработка. Язык управляется обновленным ядром Zend Engine 2.0 с принципиально новой объектной моделью и прочими дополнениями.
+
+- PHP 7.0. Вышла в 2015 году. Увеличилась производительность: появилась возможность обрабатывать больший объем трафика теми же ресурсами веб-сервера. В новой версии стало доступно указывать тип возвращаемых из функции данных, добавился контроль передаваемых типов для данных и новые операторы.
+
+- PHP 8.0. Это последний вариант, который был выпущен в конце 2020 года. Язык получил поддержку union-типов (структур данных или значений, которые могут иметь несколько различных представлений), аннотации (атрибуты), а также компиляцию байт-кода в машинный код во время работы программы (JIT-компиляцию). Microsoft решили не поддерживать версию 8.0 для Windows, поэтому теперь эту работу проводят участники из сообщества, заинтересованные в работе PHP на операционной системе.
+
+## Плюсы и минусы
+PHP, как и любой язык программирования, имеет свои преимущества и недостатки:
+
+Плюсы
+
+- Для PHP есть множество баз данных, фреймворков и библиотек.
+- Язык бесплатный, код находится в открытом доступе.
+- Язык гибкий и предоставляет много свободы.
+- PHP совместим практически со всеми современными серверами.
+- Простой синтаксис.
+- PHP подходит новичкам, ему легко научиться и практиковать полученные знания можно почти сразу.
+- Язык имеет простую систему объектов и классов
+
+Минусы
+
+- Для работы с PHP желательно знание HTML и CSS.
+- Из-за простоты и гибкости PHP сложно поддерживать. Написать плохой код очень легко, найти ошибку — тяжело.
+- PHP — не очень производительный язык. Его конкурент JavaScript быстрее.
+- Из-за смеси PHP и HTML на многостраничных сайтах может быть затруднительно найти необходимую часть кода.
+- В названиях функций стандартной библиотеки отсутствует четкая система: одни имеют сокращения и подчеркивания, другие — нет. Иногда в названиях функций для работы со строками встречаются обозначения str, а иногда их не бывает. 
+
+Для устранения недостатков PHP многие разработчики используют фреймворки, такие как Laravel, Symfony или Yii, которые предоставляют инструменты и структуру для более структурированной и безопасной разработки.