PHP Советы

Версия от 01:50, 7 ноября 2022; AE (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Советы новичкамПравить

Большое количество проектов на PHP, означает и большое количество вакансий для работы. Хорошо зная PHP, вы не останетесь без работы. Но не стоит рассчитывать на высокую зарплату, так как порог входа в технологию низкий и у вас будет много конкурентов (в том числе и из стран третьего мира).

Рекомендуемый план обучения (от простого к сложному)Править

  1. Найдите актуальные учебные онлайн-материалы и используйте самую последнюю версию PHP. Не учитесь по старым учебникам.
  2. Сначала попробуйте написать простой одностраничное веб-приложение с нуля в любом текстовом редакторе, чтобы понять базовые принципы работы.
  3. Тестируйте на практике примеры из учебных материалов. Старайтесь не копировать, а писать код самостоятельно.
  4. На данном этапе начните использовать профессиональную разработки IDE.
  5. Для более глубокого погружения в технологию создайте учебный проект с базой данных MySQL на базе фреймворка, например Laravel.
  6. Разберитесь как работает пакетный менеджер Composer и добавьте с его помощью функционал из сторонних библиотек.
  7. Изучите PSR: PHP Standards Recommendations и примените его, внеся исправления и улучшения в ваш код.
  8. Установите систему контроля версий git, создайте репозиторий и выложите ваш код на GitHub.
  9. Создайте Docker образ вашего приложения и загрузите его в Docker Registry.
  10. Запустите Docker контейнер вашего приложения на внешнем хостинге.

Избегайте типовых ошибок по информационной безопасностиПравить

  • Не вставляйте в ваш проект скопированный код, который не до конца понимаете.
  • Готовые PHP-приложения или модули к ним скачивайте только с официальных сайтов или из официальных публичных репозиториев.
  • Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием.
  • При загрузке файлов на сервер от сторонних пользователей, как минимум проверяйте расширение файла на допустимые. А лучше загружайте файлы в отдельную папку с установленными ограничениями на возможность запуска любых скриптов и программ.
  • Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта и не загружайте их в репозитории.

Советы системным администраторамПравить

TBD

Советы опытным разработчикамПравить

TBD

Полезные фичи по обработке null значений
Версия Что добавлено Краткое описание Примеры использования
7.0 Null coalescing ?? Позволяет кратко записывать проверки на null в одну строчку с присвоением альтернативного значения переменной Пример кода
7.4 Null coalescing assignment ??= Позволяет выполнять присваивание в одну строчку с условием, если переменная не была до этого равна null Пример кода
8.0 Nullsafe operator ?-> В середине цепочки последовательных вызовов методов может встретиться null. В этом случае выполнение цепочки прерывается, конечное значение остается равным null. Пример кода
Полезные фичи для строгой типизации
Версия Что добавлено Краткое описание Примеры использования
7.4 Typed properties Можно ограничить типы у свойств (полей) класса Пример кода
8.0 Union types x|y В выражениях определяющих тип можно использовать разделить | и перечислить несколько допустимых типов. Должен подходить один из списка.
8.1 Intersection Types x&y В выражениях определяющих тип можно использовать разделить & и перечислить несколько допустимых типов. Должны подходить все указанные.
Полезные фичи по ООП
Версия Что добавлено Краткое описание Примеры
8.0 $object::class Теперь класс объекта можно получить без использования дополнительных функций
8.0 Promoted properties Свойства (поля) объекта теперь можно инициализировать прямо в параметрах конструктора класса. Значения заполняются без необходимости определять присвоение в самом конструкторе.
8.1 Enums Перечисляемый тип или другими словами — это типизированные константы Пример кода
8.1 readonly properties Признак readonly у свойства (поля) класса означает, что значение в него можно записать только один раз. После записи изменить значение нельзя.