cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Библиотека собеса по PHP | вопросы с собеседований

Вопросы с собеседований по PHP и ответы на них. Список наших каналов: https://t.me/proglibrary/8353 Учиться у нас: https://proglib.io/w/907158ab Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Show more
Advertising posts
2 388
Subscribers
-224 hours
+137 days
+31330 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

Что такое компоненты Symfony? Symfony Components — это коллекция разрозненных и многократно используемых PHP-библиотек. Это программное обеспечение с открытым исходным кодом, которое призвано ускорить или ускорить создание и поддержку веб-приложений, заменить повторяющиеся задачи кодирования, создать мощные и надежные приложения в корпоративном контексте и предоставить разработчикам полный контроль над конфигурацией. Компоненты Symfony — это разрозненные библиотеки для PHP-приложений. Тысячи проектов были загружены миллиарды раз и являются основой основных PHP-проектов. Symfony предоставляет компоненты от простых функций, таких как файловая система, до расширенных возможностей, событий, контейнерной технологии и инъекции зависимостей.
Show all...
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования? В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе. В нашем примере: Adaptee — класс с несовместимым интерфейсом. Target — интерфейс, ожидаемый клиентом. Adapter — класс, который адаптирует Adaptee к интерфейсу Target. Распространенные случаи использования паттерна Адаптер включают: 🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе. 🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу. 🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования. 🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.
Show all...
👍 8🔥 2 1
Что такое транзакция? Транзакция — это последовательность операций чтения и записи, объединенных в единое логическое действие. Транзакция должна быть атомарной, согласованной, изолированной и долговечной (ACID-свойства). Атомарность означает, что транзакция либо выполняется полностью, либо откатывается целиком. Если хотя бы одна операция внутри транзакции не может быть выполнена, то все изменения откатываются. Согласованность подразумевает, что транзакция должна переводить базу данных из одного согласованного состояния в другое. Все ограничения и правила, заданные для данных, должны быть соблюдены. Изолированность гарантирует, что транзакция ведется в отдельной среде и не вмешивается в работу других транзакций, одновременно выполняющихся в системе. Результат выполнения транзакции должен быть таким же, как если бы она была выполнена последовательно. Долговечность обеспечивает сохранение результатов выполненной транзакции даже в случае сбоев системы или отключения питания. Результаты транзакции должны быть сохранены в базе данных и доступны после восстановления системы. Транзакции обычно применяются для группировки логически связанных операций, чтобы гарантировать целостность данных при работе с базой данных. В языке программирования PHP транзакции могут быть реализованы с использованием соответствующих функций и методов для работы с базами данных, таких как mysqli или PDO.
Show all...
👍 4
В чем разница между Eloquent и Query Builder в Ларавеле? В Laravel Eloquent — это инструмент для объектно-реляционного отображения (ORM), который предоставляет простой и удобный способ взаимодействия с базой данных с использованием PHP-кода. Eloquent позволяет определять ваши таблицы базы данных как классы, а строки таблицы как объекты. С другой стороны, Query Builder предоставляет более низкоуровневый способ создания SQL-запросов с использованием цепочки методов. Основное различие между Eloquent и Query Builder заключается в том, что Eloquent предоставляет более высокоуровневый, более выразительный API для взаимодействия с вашей базой данных, в то время как Query Builder предоставляет более низкоуровневый, более гибкий API.
Show all...
🔥 3
Чем отличаются ключевые слова: include и require, include_once, require_once Когда речь идет о подключении файлов в PHP, часто используются две пары ключевых слов: include и require, а также include_once и require_once. Давайте рассмотрим их основные различия и сравним их: include vs require: include: Используется для включения файла в скрипт. Если файл не найден, PHP выдаст предупреждение, но выполнение скрипта продолжится. require: Используется для включения файла, и если файл не найден, PHP генерирует фатальную ошибку и останавливает выполнение скрипта. Рекомендация: Если файл является критически важным для работы скрипта, используйте require, чтобы предотвратить выполнение скрипта в случае отсутствия файла. В противном случае, если вы хотите продолжить выполнение скрипта при отсутствии файла, используйте include. include_once vs require_once: include_once: Подключает файл только один раз. Если файл уже был включен ранее, он не будет включен снова. require_once: Аналогично include_once, но для ключевого слова require. Гарантирует, что файл будет включен только один раз. Рекомендация: Используйте *_once, если существует вероятность, что файл может быть включен несколько раз, чтобы избежать конфликтов и ошибок.
Show all...
👍 9🥱 3 1
Какова цель сервис провайдеров в Ларавеле? В Laravel, сервис-провайдеры отвечают за загрузку различных аспектов приложения, таких как регистрация маршрутов, регистрация слушателей событий и регистрация миграций базы данных. Сервис-провайдеры определяются в каталоге app/Providers и регистрируются в файле config/app.php. Это пример сервис-провайдера, который регистрирует маршрут
Show all...
👍 5
Что такое Middleware в Ларавеле и как оно используется? Middleware в Laravel — это механизм для перехвата HTTP-запросов и ответов. Он действует как фильтр или мост между запросом и приложением, позволяя вам изменять или проверять запрос и принимать соответствующие действия на основе содержимого запроса. Middleware могут использоваться для задач, таких как аутентификация, управление сеансами, ведение журнала и многое другое. Laravel поставляется с несколькими встроенными middleware, включая auth middleware для аутентификации, throttle middleware для ограничения скорости и csrf middleware для защиты от CSRF-атак. В методе handle вы можете выполнять необходимую логику, такую как проверка аутентификации пользователя или проверка запроса на наличие определенных параметров. Если middleware должен завершить запрос, он может вернуть ответ напрямую. Для регистрации middleware вы можете использовать свойство $middleware файла app/Http/Kernel.php.
Show all...
👍 15
SOAP vs REST. В чем разница? 1. Принцип взаимодействия: SOAP (Simple Object Access Protocol): Использует протокол XML для обмена сообщениями. Обычно отправляет запросы через HTTP, SMTP или другие протоколы. REST (Representational State Transfer): Основан на простых HTTP методах (GET, POST, PUT, DELETE) и работает с ресурсами (например, URL). Возвращает данные в форматах JSON, XML или других текстовых форматах. 2. Простота и гибкость: SOAP: Более сложный и тяжеловесный стандарт, предоставляющий много возможностей, но требует больше ресурсов и времени для разработки. REST: Простой и гибкий, позволяет использовать различные форматы данных и не накладывает строгих правил на структуру сообщений. 3. Формат данных: SOAP: Обычно использует XML для обмена данными, что может привести к большому объему сообщений из-за тегов и атрибутов XML. REST: Часто использует JSON для передачи данных, что более компактно и легче читать для человека. 4. Состояние (Statelessness): SOAP: Может поддерживать состояние сессии между запросами, что означает, что сервер должен помнить состояние клиента. REST: Считается безсостоятельным (stateless), каждый запрос от клиента содержит всю необходимую информацию, и сервер не хранит состояние между запросами. 5. Безопасность: SOAP: Предоставляет стандартизированные механизмы безопасности, такие как WS-Security, что делает его более подходящим для более критичных по безопасности приложений. REST: Основывается на протоколе HTTPS для обеспечения безопасности передачи данных, но может потребовать дополнительных мер безопасности, таких как токены авторизации. 6. Кэширование: SOAP: Поддерживает кэширование, но требует сложной настройки на стороне клиента и сервера. REST: Имеет встроенную поддержку кэширования через HTTP методы, что упрощает процесс. 7. Использование веб-стандартов: SOAP: Использует стандарты WSDL (Web Services Description Language) и UDDI (Universal Description, Discovery, and Integration) для описания веб-сервисов и их местоположения. REST: Не имеет формальных стандартов описания интерфейсов, но использует стандарты HTTP и URI для доступа к ресурсам. Эти различия имеют важное значение при выборе между SOAP и REST в зависимости от требований проекта. SOAP часто используется в корпоративных приложениях, требующих высокой надежности и безопасности, в то время как REST чаще используется в открытых API и веб-приложениях, где важна гибкость и простота использования.
Show all...
3
Как расшифровать 644 в правах на файл в Linux? В Linux права доступа к файлам и директориям обычно представлены в восьмеричной системе счисления. Каждый набор из трех цифр представляет собой комбинацию прав доступа для владельца файла, группы и остальных пользователей. Права доступа к файлу представлены тремя группами: для владельца (user), для группы (group) и для остальных (others). Каждая группа состоит из трех битов, представляющих права на чтение (read), запись (write) и выполнение (execute). Теперь, чтобы расшифровать число 644: 🔸Первая цифра (6) относится к правам владельца файла. 🔸Вторая цифра (4) относится к правам группы. 🔸 цифра (4) относится к правам остальных пользователей. Теперь преобразуем эти числа в бинарный вид: 🟢6 = 110 в двоичной системе (rw-) 🟢4 = 100 в двоичной системе (r--) 🟢4 = 100 в двоичной системе (r--) Таким образом, права доступа для файла 644 в Linux будут следующими: ✔️Владелец файла имеет права на чтение и запись (rw-) ✔️Группа имеет право только на чтение (r--) ✔️Остальные пользователи также имеют право только на чтение (r--)
Show all...
👍 9
Сегодня на вопрос отвечаете вы: 💬Какую среду разработки предпочитаете и почему?
Show all...