PHP: различия между версиями
(Небольшие правки) |
(Шпаргалка, начало) |
||
Строка 69: | Строка 69: | ||
* Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода. | * Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода. | ||
* Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок. | * Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок. | ||
== Шпаргалка == | |||
Краткая выдержка часто используемых и полезных штук | |||
{| class="wikitable" | |||
|+Операторы | |||
!Арифметика | |||
!Сравнение | |||
!Логические | |||
!Побитовые | |||
|- | |||
| + сложение | |||
|=== равно | |||
|&& (and) и | |||
|& и | |||
|- | |||
| - вычитание | |||
|!== не равно | |||
|<nowiki>|| (or) или</nowiki> | |||
|<nowiki>| или</nowiki> | |||
|- | |||
|* умножение | |||
|< меньше | |||
|! отрицание | |||
|~ отрицание | |||
|- | |||
|/ деление | |||
|> больше | |||
|xor искл. или | |||
|^ искл. или | |||
|- | |||
|% остаток | |||
|<= меньше или равно | |||
| | |||
|<< сдвиг влево | |||
|- | |||
|** степень | |||
|>= больше или равно | |||
| | |||
|>> сдвиг вправо | |||
|} |
Версия от 01:55, 16 октября 2022
PHP — язык программирования для создания веб-приложений. Обрел популярность благодаря простоте и гибкости. Распространяется по лицензии с открытым исходным кодом. Идеально решает задачи создания интернет магазинов, новостных сайтов, справочников, простых социальных сетей.
Главные достоинства
Что мы имеем на данный момент:
- Около 75% сайтов в мире работают на PHP.
- Язык качественно документирован, имеется большое количество платных и бесплатных обучающих материалов.
- Вокруг технологии сформировалось дружное активное сообщество. Регулярно выходят новые версии и обновления, новички получают поддержку, проводится много встреч и конференций.
- Это один из самых простых языков программирования. Отлично подходит для обучения как первый язык, легко пишется и читается, не требует сложной настройки.
- Отличный выбор для стартапов. Вы можете быстро разработать прототип, чтобы проверить концепцию и вашу идею на практике. Если ваш проект не станет популярным, вы не потеряете много денег на разработке.
- PHP поддерживается всеми хостинг провайдерами. Это означает возможность быстрого разворота вашего приложения в любом дата-центре.
- Для языка написано множество полезных инструментов, библиотек, в открытом доступе есть много наработок и готовых движков под вашу задачу.
- Программы на PHP простые в обслуживании: быстро разворачиваются, по ним легко провести отладку, нет проблем с утечками памяти
История успеха
В 90-е годы большинство веб-сайтов в интернете являлось набором статичных HTML файлов, хранящихся на сервере. В 1994 году датский программист Расмус Лердорф предложил простой и удобный способ доработки таких сайтов. Он добавил в HTML файлы специальный программный код для генерации динамической информации. Данный код выполнялся на лету специальной программой — интерпретатором PHP.
Изначально такой подход мог решать только простые задачи и технология назывался Personal Home Page Tools (инструменты для персональной веб-страницы). В дальнейшем язык активно развивался и в 2004 году вышла пятая версия PHP с поддержкой объектно-ориентированного программирования. В 2020 году вышел PHP 8 и сейчас это высокопроизводительный язык программирования с поддержкой современных стандартов и богатым функционалом.
В настоящее время название языка рекомендуется расшифровывать как PHP: Hypertext Preprocessor (PHP: препроцессор гипертекста).
Примеры проектов
PHP стал идеальным инструментом для разработки CMS приложений — движков веб-сайтов с функционалом хранения и удобного редактирования контента. Как следствие, подавляющая часть небольших простых сайтов в мире работает на PHP.
Этот язык применялся при разработке таких известных сайтов:
- Facebook (первые версии)
- Вконтакте (первые версии)
- Aliexpress
- Taobao
- YouTube (самая первая версия, почти сразу был переписан на phyton)
- New York Post
- CNN
- TED
- BBC
- Spotify
- Yahoo
- Flickr
- Vimeo
- ну и конечно же Wikipedia (движок MediaWiki)
Советы новичкам
Большое количество проектов на PHP, означает и большое количество вакансий для работы. Хорошо зная PHP, вы не останетесь без работы. Но не стоит рассчитывать на высокую зарплату, так как порог входа в технологию низкий и у вас будет много конкурентов (в том числе и из стран третьего мира).
Рекомендуемый план обучения (от простого к сложному)
- Найдите актуальные учебные онлайн-материалы и используйте самую последнюю версию PHP. Не учитесь по старым учебникам.
- Сначала попробуйте написать простой одностраничное веб-приложение с нуля в любом текстовом редакторе, чтобы понять базовые принципы работы.
- Тестируйте на практике примеры из учебных материалов. Старайтесь не копировать, а писать код самостоятельно.
- На данном этапе начните использовать профессиональную разработки IDE.
- Для более глубокого погружения в технологию создайте учебный проект с базой данных MySQL на базе фреймворка, например Laravel.
- Разберитесь как работает пакетный менеджер Composer и добавьте с его помощью функционал из сторонних библиотек.
- Изучите PSR: PHP Standards Recommendations и примените его, внеся исправления и улучшения в ваш код.
- Установите систему контроля версий git, создайте репозиторий и выложите ваш код на GitHub.
- Создайте Docker образ вашего приложения и загрузите его в Docker Registry.
- Запустите Docker контейнер вашего приложения на внешнем хостинге.
Избегайте типовых ошибок по информационной безопасности
- Не вставляйте в ваш проект скопированный код, который не до конца понимаете.
- Готовые PHP-приложения или модули к ним скачивайте только с официальных сайтов или из официальных публичных репозиториев.
- Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием.
- При загрузке файлов на сервер от сторонних пользователей, как минимум проверяйте расширение файла на допустимые. А лучше загружайте файлы в отдельную папку с установленными ограничениями на возможность запуска любых скриптов и программ.
- Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта и не загружайте их в репозитории.
Проблемные места
- PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP, вам придется работать только веб-разработчиком.
- Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики.
- Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода.
- Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок.
Шпаргалка
Краткая выдержка часто используемых и полезных штук
Арифметика | Сравнение | Логические | Побитовые |
---|---|---|---|
+ сложение | === равно | && (and) и | & и |
- вычитание | !== не равно | || (or) или | | или |
* умножение | < меньше | ! отрицание | ~ отрицание |
/ деление | > больше | xor искл. или | ^ искл. или |
% остаток | <= меньше или равно | << сдвиг влево | |
** степень | >= больше или равно | >> сдвиг вправо |