Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.33K photos
21 videos
26 files
4.02K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
PHP стал строго типизированным

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

https://medium.com/codex/php-became-strongly-typed-66f2b2ae917
🔥20💩18👍1
Прекратите использовать обычные исключения в PHP!

Вам может быть интересно, почему я должен прекратить использовать исключения в PHP! ну, для пояснения в этом туториале увидим два примера использования исключений.

https://proglib.io/w/d5ef07f4
👎23👍7💩4
#вопросы_с_собеседований
Зачем нужно ключевое слово final?


Разместив ключевое слово final перед объявлениями методов класса, можно предотвратить их переопределение в дочерних классах, а в случае объявления самого класса как final — его невозможно будет унаследовать. Такие классы и методы призваны защитить чувствительный код от изменений, а сам код становится проще поддерживать. Подробнее в документации.
👍25💩6
#вопросы_с_собеседований
Как следовать PSR standards?

PHP
Standards Recommendations — стандарты оформления кода, а также интерфейсы для стандартных задач. Используются данные стандарты во всех фреймворках, и облегчают взаимодействия между разными библиотеками. Официальная документация, а также хорошая статья на Хабре.
👍6
SOLID

Его спрашивают все, но спрашивают по-разному.
Плохой вариант — вас просят зачитать на память принципы и их определения.
Хороший — вам называют принцип, и просят объяснить его, описать примеры использования, придумать реальную ситуацию когда тот или иной принцип чем то поможет. Такой вариант намного лучше дает понять уровень кандидата и его реальное понимание принципов. Неплохая статья на тему: https://medium.com/webbdev/solid-4ffc018077da
🔥19👍6👎5
Строгое и нестрогое сравнение

Нужно понимать разницу между нестрогим сравнением (сравнение значений без учета типа данных) и строгим сравнением (с учетом типа данных), которую довольно хорошо отражает данная табличка. Отдельно стоит выделить строгое и нестрогое сравнение объектов.
👍6
OPcache

Улучшает производительность PHP путём сохранения скомпилированного байт-кода скриптов в разделяемой памяти, тем самым избавляя PHP от необходимости загружать и анализировать скрипты при каждом запросе. Официальная документация, а так же очень хорошая статья как это все работает на Хабре.
👍18
Замыкания

Они же анонимные функции, наиболее полезны в качестве значений callback-параметров, документация. Есть хорошая, хотя и немного старая статья о работе с замыканиями на Хабре.
💩6👍5👏1
#вопросы_с_собеседований
Что такое интерфейсы?

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

Хорошая статья на хабре.
👍16
Область видимости свойства/метода/константы класса

Определяется при помощи ключевых слов public (видно всем), protected (доступен только текущему классу или его наследникам) или private (доступен только текущему классу), и может применяться как для свойств/метода, так начиная и с PHP 7.1 для констант класса. Подробнее в документации.
👏7🤯3😱2😁1
Авторизация и аутентификация

Авторизация — предоставление прав на выполнение определённых действий, а также процесс проверки прав при попытке выполнения этих действий.

Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введённого им пароля.

Важно понимать разницу между авторизацией и аутентификацией, как они реализуются при использовании session и cookies, JSON Web Tokens (JWT) и др.
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
Не знаешь о своих слабых местах на PHP? 🤔

Стартап @yourcodereview запустил 4-недельное обучение: на нём менторы — Senior-разработчики и HRы — помогают IT-специалистам проходить собеседования.

Что ждёт на обучении:

🔹вместе разберёте свои ошибки, узнаете свои слабые места и получите гайд по исправлению
🔹научитесь правильно себя презентовать и продавать
🔹приведёте своё резюме в порядок вместе с Senior Frontend разработчиком и HRом
🔹получите фидбэк по тестовым
Cамая главная фича — пройдёте 4 собеседования с Senior-ом и HR🔥

В итоге — станешь готовым к собесу в любую компанию и узнаешь, сколько реально стоишь на рынке.

Оставляй заявку и записывайся на подготовку, места ещё есть!
👎8👍3
#вопросы_с_собеседований
Что такое Dry?

Don’t repeat yourself — принцип, описывающий что необходимо переиспользовать код везде, где это возможно. Подробнее здесь.
👎9👍8💩2
📚 ТОП-10 свежих и актуальных книг по PHP для новичков и профессионалов

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

https://proglib.io/w/6466a08f
👎10👍6🔥2💩2
Понятный видеокурс о Design Patterns на примере языка PHP

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

https://proglib.io/sh/jUw7vAGk3p
👍18👎1
Kiss

Keep it simple, stupid — хороший принцип, вся суть которого уже содержится в названии, подробнее можно узнать здесь.
👏7👎2
#вопросы_с_собеседований
Что такое инкапсуляция/наследование/полиморфизм?

Инкапсуляция
. Это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает их от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Т.е. переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его собственных методов. Можно сказать, что инкапсуляция подразумевает под собой сокрытие данных, что позволяет эти данные защитить.
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
🔥25👎7👍6🤯3
➡️ Привет! Мы проводим опрос «Что тебя больше всего раздражает в рабочем процессе и в программировании?»

🔥 Говори прямо, не сдерживай себя. Орфографию и пунктуацию мы сохраним. Правда, вульгаризмы заменим на эвфемизмы, но без потери смысла :D

Что тебя больше всего раздражает на работе? 😶 Бессмысленные комментарии к коду? 😐 Постоянно отвлекают от работы, а потом ты полчаса входишь в рабочий процесс? 🤔 Переработки? 😕 Срочные задачи в конце рабочего дня? 😲 Низкий стол? 😵 14" электронно-лучевой монитор? 🤣

Опрос анонимный. Делись наболевшим. А в июне мы опубликуем статью со всеми ответами.

➡️ Опрос можно пройти по ссылке ⬅️
👎7👍2