Технология передачи данных в секретный контур
Статья описывает работу секретного контура, который представляет собой компьютер, отделенный от сети через однонаправленное устройство передачи данных (диод). Этот компьютер используется для передачи секретных данных, обеспечивая высокий уровень безопасности и контроля над данными. Секретный контур предоставляет механизм для передачи данных с одной стороны на другую, при этом строго контролируется доступ к данным и обеспечивается их целостность.
Статья описывает работу секретного контура, который представляет собой компьютер, отделенный от сети через однонаправленное устройство передачи данных (диод). Этот компьютер используется для передачи секретных данных, обеспечивая высокий уровень безопасности и контроля над данными. Секретный контур предоставляет механизм для передачи данных с одной стороны на другую, при этом строго контролируется доступ к данным и обеспечивается их целостность.
Хабр
Технология передачи данных в секретный контур
Что такое секретный контур? Это компьютер, который отделён от сети через «диод» (устройство однонаправленной передачи данных). Из него ничего не может выходить, а входить может...
👍3😁2🤔2
TokensValidation: безопасная аутентификация и авторизация для веб-приложений
Здесь представлена библиотека под названием TokensValidation, которая разработана для улучшения безопасности процессов аутентификации и авторизации в веб-приложениях. Библиотека предоставляет гибкие функции для создания и проверки токенов аутентификации и подтверждения, а также обладает следующими ключевыми особенностями.
Здесь представлена библиотека под названием TokensValidation, которая разработана для улучшения безопасности процессов аутентификации и авторизации в веб-приложениях. Библиотека предоставляет гибкие функции для создания и проверки токенов аутентификации и подтверждения, а также обладает следующими ключевыми особенностями.
DEV Community
Introducing TokensValidation: Secure Authentication & Authorization for Web Apps
Are you looking to enhance the security of your web applications' authentication and authorization...
❤1👍1
Видео: Принципы SOLID в Laravel и PHP: Практическое руководство
Если вам нужна ясность в том, как сделать ваши PHP-приложения более удобными в обслуживании, масштабируемыми и надежными, то это руководство для вас.
Это видео охватывает:
- Принцип единой ответственности (SRP): Сосредоточенность на ваших контроллерах и моделях Laravel.
- Принцип "Открыто/закрыто" (OCP): Расширение возможностей, не затрагивая старый код.
- Принцип подстановки Лисковой (LSP): Обеспечение взаимозаменяемости объектов в PHP для менее уязвимого кода
- Принцип разделения интерфейсов (ISP): Разработка экономичных, целенаправленных интерфейсов для ваших приложений Laravel.
Если вам нужна ясность в том, как сделать ваши PHP-приложения более удобными в обслуживании, масштабируемыми и надежными, то это руководство для вас.
Это видео охватывает:
- Принцип единой ответственности (SRP): Сосредоточенность на ваших контроллерах и моделях Laravel.
- Принцип "Открыто/закрыто" (OCP): Расширение возможностей, не затрагивая старый код.
- Принцип подстановки Лисковой (LSP): Обеспечение взаимозаменяемости объектов в PHP для менее уязвимого кода
- Принцип разделения интерфейсов (ISP): Разработка экономичных, целенаправленных интерфейсов для ваших приложений Laravel.
YouTube
SOLID Principles in Laravel & PHP: A Practical Guide
If you've been seeking clarity on making your PHP applications more maintainable, scalable, and robust, then this guide is for you.
This video covers:
- **Single Responsibility Principle (SRP)**: Keeping your Laravel controllers and models focused.
- **Open/Closed…
This video covers:
- **Single Responsibility Principle (SRP)**: Keeping your Laravel controllers and models focused.
- **Open/Closed…
🥱9❤2
Туториал по NativePHP: Создание приложения MenuBar для Mac
Статья начинается с инструкции по установке NativePHP в новом приложении Laravel. Затем описывается создание простого приложения Mac MenuBar, которое показывает местное время каждого члена команды. Процесс установки и запуска NativePHP подробно расписан.
Далее предоставляет код и инструкции по созданию приложения, включая установку необходимых пакетов, создание модели и представлений, настройку маршрутов и обработку операций Create и Update.
Статья начинается с инструкции по установке NativePHP в новом приложении Laravel. Затем описывается создание простого приложения Mac MenuBar, которое показывает местное время каждого члена команды. Процесс установки и запуска NativePHP подробно расписан.
Далее предоставляет код и инструкции по созданию приложения, включая установку необходимых пакетов, создание модели и представлений, настройку маршрутов и обработку операций Create и Update.
Laravel News
NativePHP Tutorial: Building a Mac MenuBar application - Laravel News
Follow along with this NativePHP tutorial as we put together a Mac MenuBar application to know the local time of each member of your team.
🥱6👍5❤2
Еще один #дайджест новостей по PHP за неделю:
🔎PHP 8.1.23 выпущен — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.1.23. Это дебаг-релиз. Всем пользователям PHP 8.1 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия Laravel 10.21 — На этой неделе команда Laravel выпустила версию 10.21 с новыми вспомогательными методами строк, подсчетом поставщиков неудачных заданий, улучшенным типом возврата HTTP-пула и многим другим.
🔎Неделя Symfony #870 (28 августа — 3 сентября 2023 г.)
🔎PHP 8.1.23 выпущен — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.1.23. Это дебаг-релиз. Всем пользователям PHP 8.1 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия Laravel 10.21 — На этой неделе команда Laravel выпустила версию 10.21 с новыми вспомогательными методами строк, подсчетом поставщиков неудачных заданий, улучшенным типом возврата HTTP-пула и многим другим.
🔎Неделя Symfony #870 (28 августа — 3 сентября 2023 г.)
👍2❤1
Использование AWS S3 для хранилища Laravel
Статья рассматривает использование Amazon Web Services (AWS) S3 для хранения данных в приложениях, разработанных на фреймворке Laravel.
Статья рассматривает использование Amazon Web Services (AWS) S3 для хранения данных в приложениях, разработанных на фреймворке Laravel.
Laravel News
Using AWS S3 for Laravel Storage - Laravel News
Learn how to set up AWS S3 and create buckets for your Laravel app
👍5❤3
Автоматическая регистрация пользовательских типов Doctrine в Symfony
Здесь раскрываются следующие темы:
✅Зачем нужны объекты-значения: Объясняется, что объекты-значения используются для инкапсуляции типов в предметной области приложения и как они могут помочь более точно моделировать домен.
✅Проблема с Doctrine: Обсуждается проблема, связанная с тем, что Doctrine, используемая для управления уровнем персистентности, не знает, как обрабатывать пользовательские типы объектов-значений.
✅Создание пользовательских типов Doctrine: Показано, как создавать собственные типы Doctrine, которые позволяют преобразовывать объекты-значения в формат базы данных и наоборот.
Здесь раскрываются следующие темы:
✅Зачем нужны объекты-значения: Объясняется, что объекты-значения используются для инкапсуляции типов в предметной области приложения и как они могут помочь более точно моделировать домен.
✅Проблема с Doctrine: Обсуждается проблема, связанная с тем, что Doctrine, используемая для управления уровнем персистентности, не знает, как обрабатывать пользовательские типы объектов-значений.
✅Создание пользовательских типов Doctrine: Показано, как создавать собственные типы Doctrine, которые позволяют преобразовывать объекты-значения в формат базы данных и наоборот.
DEV Community
Auto-registering custom Doctrine types in Symfony
Introduction As we saw in object calisthenics and generally, it is a good practice to use...
❤5👍4👾2
Быстрые запросы к базе данных не всегда лучше
Автор задает вопрос: действительно ли медленные запросы к базе данных плохи? Он признает, что "плохо" может быть не самым подходящим словом и предлагает использовать термин "не идеально". Затем он размышляет о том, как определить, что является "медленным" запросом.
Автор предлагает два способа: сравнивать запросы по времени выполнения и явно устанавливать порог медленных запросов с помощью журнала медленных запросов базы данных. Он предлагает установить порог в 1 секунду и записывать запросы, которые превышают этот порог, в журнал медленных запросов.
Затем автор переходит к обсуждению быстрых запросов. Он задает вопросы: почему быстрые запросы считаются хорошими, и в каком контексте это важно? Автор утверждает, что быстрые запросы важны, потому что они свидетельствуют о быстрой работе приложения, но он также подчеркивает, что он не рассматривает запросы изолированно, а в контексте их взаимодействия внутри веб-приложений.
Он объясняет, что для измерения производительности необходимо учитывать совокупное время выполнения запроса, а не только отдельных запросов. Он предоставляет пример, в котором множество быстрых запросов в сумме замедляют HTTP-запрос, и подчеркивает, что для оптимизации приложения важно смотреть на совокупное время запроса.
Затем автор представляет новый метод в Laravel, который позволяет измерять совокупное время выполнения запросов в рамках одного HTTP-запроса, в отличие от предыдущего метода, который рассматривал запросы изолированно. Для этого автор предлагает зарегистрировать два обработчика событий в приложении, оба с порогом в 1 секунду.
Он демонстрирует, что при выполнении HTTP-запроса, который содержит быстрые запросы, выполняющиеся в цикле, оба обработчика реагируют по-разному. Первый, ориентированный на изолированные запросы, не регистрирует медленные запросы, но второй, ориентированный на совокупное время, регистрирует, что совокупное время выполнения запросов превышает 1 секунду.
Этот новый метод позволяет обнаруживать случаи, когда множество быстрых запросов в сумме замедляют выполнение HTTP-запросов. Автор подчеркивает, что это не заменяет журнал медленных запросов к базе данных, но представляет дополнительный инструмент для изучения и оптимизации производительности приложений.
Автор задает вопрос: действительно ли медленные запросы к базе данных плохи? Он признает, что "плохо" может быть не самым подходящим словом и предлагает использовать термин "не идеально". Затем он размышляет о том, как определить, что является "медленным" запросом.
Автор предлагает два способа: сравнивать запросы по времени выполнения и явно устанавливать порог медленных запросов с помощью журнала медленных запросов базы данных. Он предлагает установить порог в 1 секунду и записывать запросы, которые превышают этот порог, в журнал медленных запросов.
Затем автор переходит к обсуждению быстрых запросов. Он задает вопросы: почему быстрые запросы считаются хорошими, и в каком контексте это важно? Автор утверждает, что быстрые запросы важны, потому что они свидетельствуют о быстрой работе приложения, но он также подчеркивает, что он не рассматривает запросы изолированно, а в контексте их взаимодействия внутри веб-приложений.
Он объясняет, что для измерения производительности необходимо учитывать совокупное время выполнения запроса, а не только отдельных запросов. Он предоставляет пример, в котором множество быстрых запросов в сумме замедляют HTTP-запрос, и подчеркивает, что для оптимизации приложения важно смотреть на совокупное время запроса.
Затем автор представляет новый метод в Laravel, который позволяет измерять совокупное время выполнения запросов в рамках одного HTTP-запроса, в отличие от предыдущего метода, который рассматривал запросы изолированно. Для этого автор предлагает зарегистрировать два обработчика событий в приложении, оба с порогом в 1 секунду.
Он демонстрирует, что при выполнении HTTP-запроса, который содержит быстрые запросы, выполняющиеся в цикле, оба обработчика реагируют по-разному. Первый, ориентированный на изолированные запросы, не регистрирует медленные запросы, но второй, ориентированный на совокупное время, регистрирует, что совокупное время выполнения запросов превышает 1 секунду.
Этот новый метод позволяет обнаруживать случаи, когда множество быстрых запросов в сумме замедляют выполнение HTTP-запросов. Автор подчеркивает, что это не заменяет журнал медленных запросов к базе данных, но представляет дополнительный инструмент для изучения и оптимизации производительности приложений.
Tim MacDonald
Fast database queries are not always better
You probably think fast database queries are good. You also probably think slow database queries are bad. On top of all of these "thinks" you have about database queries - there is a certain Laravel method that, if you’ve seen it, you probably think you understand…but…
❤7👍6
Что такое Dry?
Принцип DRY (Don't Repeat Yourself) - это принцип проектирования программного кода, который подразумевает избегание дублирования кода. Суть этого принципа заключается в том, что каждая часть информации или логики должна существовать в системе только в одном месте. Если вы обнаружите повторяющийся код или информацию, это может указывать на нарушение принципа DRY.
Преимущества соблюдения принципа DRY включают в себя:
✔️Уменьшение дублирования кода: Избегание повторений упрощает поддержку и обновление кода, поскольку вам нужно будет внести изменения только в одном месте.
✔️Улучшение читаемости кода: Когда информация находится в единственном месте, код становится более понятным и легче для понимания другими разработчиками.
✔️Уменьшение вероятности ошибок: Повторяющийся код может привести к ошибкам при изменении одной из копий. Избегая дублирования, вы уменьшаете риск возникновения таких ошибок.
✔️Увеличение производительности разработки: Поскольку изменения могут быть внесены в одном месте, разработка становится более эффективной и быстрой.
#вопросы_с_собеседований
Принцип DRY (Don't Repeat Yourself) - это принцип проектирования программного кода, который подразумевает избегание дублирования кода. Суть этого принципа заключается в том, что каждая часть информации или логики должна существовать в системе только в одном месте. Если вы обнаружите повторяющийся код или информацию, это может указывать на нарушение принципа DRY.
Преимущества соблюдения принципа DRY включают в себя:
✔️Уменьшение дублирования кода: Избегание повторений упрощает поддержку и обновление кода, поскольку вам нужно будет внести изменения только в одном месте.
✔️Улучшение читаемости кода: Когда информация находится в единственном месте, код становится более понятным и легче для понимания другими разработчиками.
✔️Уменьшение вероятности ошибок: Повторяющийся код может привести к ошибкам при изменении одной из копий. Избегая дублирования, вы уменьшаете риск возникновения таких ошибок.
✔️Увеличение производительности разработки: Поскольку изменения могут быть внесены в одном месте, разработка становится более эффективной и быстрой.
#вопросы_с_собеседований
👍9🥱5
Улучшите свою навыки отладки с помощью Blackfire для устранения ошибок Segfault
Данная статья описывает новую опцию отладки, предоставляемую Blackfire, инструментом для профилирования и оптимизации PHP-приложений. Эта опция относится к обработке фатальных ошибок, таких как ошибка сегментации (segfault), которые могут возникать в PHP-приложениях и быть сложными для диагностики и устранения.
Основные моменты, рассматриваемые в статье, включают:
☑️Проблемы с ошибками сегментации: Ошибка сегментации является фатальной ошибкой в PHP и может быть сложной для выявления и устранения. Она может возникать спорадически и не всегда воспроизводиться.
☑️Необходимость измерения и понимания: Статья подчеркивает важность измерения и понимания проблемы перед её решением. Blackfire предоставляет инструмент для сбора журналов ошибок сегментации, чтобы обеспечить точные данные для анализа.
☑️Опция отладки: Blackfire предоставляет опцию отладки, которая записывает журналы при возникновении ошибки сегментации, что помогает разработчикам быстрее выявить и устранить проблемы.
☑️Как использовать опцию: Статья описывает, как можно включить эту опцию для конкретной конфигурации зонда Blackfire через переменные среды или файл php.ini.
Данная статья описывает новую опцию отладки, предоставляемую Blackfire, инструментом для профилирования и оптимизации PHP-приложений. Эта опция относится к обработке фатальных ошибок, таких как ошибка сегментации (segfault), которые могут возникать в PHP-приложениях и быть сложными для диагностики и устранения.
Основные моменты, рассматриваемые в статье, включают:
☑️Проблемы с ошибками сегментации: Ошибка сегментации является фатальной ошибкой в PHP и может быть сложной для выявления и устранения. Она может возникать спорадически и не всегда воспроизводиться.
☑️Необходимость измерения и понимания: Статья подчеркивает важность измерения и понимания проблемы перед её решением. Blackfire предоставляет инструмент для сбора журналов ошибок сегментации, чтобы обеспечить точные данные для анализа.
☑️Опция отладки: Blackfire предоставляет опцию отладки, которая записывает журналы при возникновении ошибки сегментации, что помогает разработчикам быстрее выявить и устранить проблемы.
☑️Как использовать опцию: Статья описывает, как можно включить эту опцию для конкретной конфигурации зонда Blackfire через переменные среды или файл php.ini.
Blackfire.io Le Blog
Stepping up your debugging game: unveiling Blackfire’s new debug option to troubleshoot Segfaults
Say goodbye to Segfault mysteries! Blackfire’s new debug option captures critical logs before a crash and makes troubleshooting easier.
👍2❤1🌚1
Создавайте емейлы, которые хорошо выглядят в каждом почтовом клиенте, используя MJML.
Здесь рассказывается про новый пакет под названием spatie/mjml-php, который разработан командой Mailjet для простого преобразования MJML (Mailjet Markup Language) в HTML с использованием PHP. MJML - это язык разметки, который облегчает создание электронных писем в формате HTML, с учетом особенностей почтовых клиентов.
Здесь рассказывается про новый пакет под названием spatie/mjml-php, который разработан командой Mailjet для простого преобразования MJML (Mailjet Markup Language) в HTML с использованием PHP. MJML - это язык разметки, который облегчает создание электронных писем в формате HTML, с учетом особенностей почтовых клиентов.
freek.dev
Craft emails that look good in each email client using MJML | freek.dev
In a perfect world, email clients can render HTML as good as major browsers. Unfortunately, this is not the case. Email clients don't support modern HTML and CSS niceties and have a lot of quirks to be mindful of. Making sure an HTML email looks good in the…
👍4❤1
Создание пользовательских директив Blade в Laravel
Здесь рассматривается создание собственных директив в Laravel Blade, что является мощной функциональностью этого шаблонного движка. Эти директивы позволяют добавлять пользовательские функции и условия в представления для более гибкой и читаемой разработки.
✅Пример 1: Форматирование денег с помощью Blade директивы:
Автор начинает с создания функции formatMoney, которая форматирует денежные значения в соответствии с настройками валюты. Затем он показывает, как использовать эту функцию в представлениях.
Затем он переходит к созданию Blade директивы с именем money, которая позволяет форматировать деньги более удобным способом в представлениях. Эта директива принимает значение, которое нужно отформатировать, и вызывает formatMoney функцию для форматирования.
✅Пример 2: Создание собственной Blade директивы для проверки условий:
Автор демонстрирует, как создать пользовательскую Blade директиву для проверки условий, связанных с аутентификацией пользователя и его ролью. В данном случае, директива @customer проверяет, является ли пользователь клиентом, и открывает блок кода, если условие выполняется. Директива @endcustomer используется для закрытия этого блока.
Затем автор определяет две Blade директивы в AppServiceProvider.php, которые внутренне генерируют соответствующий PHP код для проверки условия и его завершения.
Здесь рассматривается создание собственных директив в Laravel Blade, что является мощной функциональностью этого шаблонного движка. Эти директивы позволяют добавлять пользовательские функции и условия в представления для более гибкой и читаемой разработки.
✅Пример 1: Форматирование денег с помощью Blade директивы:
Автор начинает с создания функции formatMoney, которая форматирует денежные значения в соответствии с настройками валюты. Затем он показывает, как использовать эту функцию в представлениях.
Затем он переходит к созданию Blade директивы с именем money, которая позволяет форматировать деньги более удобным способом в представлениях. Эта директива принимает значение, которое нужно отформатировать, и вызывает formatMoney функцию для форматирования.
✅Пример 2: Создание собственной Blade директивы для проверки условий:
Автор демонстрирует, как создать пользовательскую Blade директиву для проверки условий, связанных с аутентификацией пользователя и его ролью. В данном случае, директива @customer проверяет, является ли пользователь клиентом, и открывает блок кода, если условие выполняется. Директива @endcustomer используется для закрытия этого блока.
Затем автор определяет две Blade директивы в AppServiceProvider.php, которые внутренне генерируют соответствующий PHP код для проверки условия и его завершения.
koossaayy.tn
Create Custom Blade Directives in Laravel
Learn how to enhance your Laravel projects by creating custom Blade directives. Our step-by-step guide for software engineers explores the power of custom directives in Laravel, making your templates more efficient and readable.
🥱6❤1👍1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для джунов 👨🏻🏫
Junior PHP разработчик в Вебпрактик
Ростов-на-Дону. Performance-маркетинг и услуги digital-интегратора.
Подробнее
Junior Web-разработчик в Ed.Partners
Москва. Диджитал-студия.
Подробнее
Backend-разработчик в Itwis
Новосибирск. Разработка информационных бизнес-систем.
Подробнее
Junior разработчик в White Tiger Soft
Йошкар-Ола. Разработка iOS и Android приложений.
Подробнее
Программист PHP в Интертрейд
Москва. Создание световой наружной рекламы.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
Вакансии недели для джунов 👨🏻🏫
Junior PHP разработчик в Вебпрактик
Ростов-на-Дону. Performance-маркетинг и услуги digital-интегратора.
Подробнее
Junior Web-разработчик в Ed.Partners
Москва. Диджитал-студия.
Подробнее
Backend-разработчик в Itwis
Новосибирск. Разработка информационных бизнес-систем.
Подробнее
Junior разработчик в White Tiger Soft
Йошкар-Ола. Разработка iOS и Android приложений.
Подробнее
Программист PHP в Интертрейд
Москва. Создание световой наружной рекламы.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
rostov.hh.ru
Вакансия Junior PHP разработчик в Ростове-на-Дону, работа в компании Вебпрактик (вакансия в архиве c 21 сентября 2023)
Зарплата: не указана. Ростов-на-Дону. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 18.09.2023.
❤1👍1👾1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤1👍1
Интерфейсы или абстрактные классы
Статья обсуждает различия между интерфейсами и абстрактными классами. Она поднимает несколько важных аспектов и рассматривает, когда следует использовать интерфейсы и абстрактные классы, а также какие преимущества они могут предоставить в разработке программного кода.
Вот основные моменты, которые статья затрагивает:
✔️Интерфейсы и абстрактные классы как контракты: Интерфейсы и абстрактные классы представляют собой способы определения контрактов между классами. Классы, реализующие интерфейсы или расширяющие абстрактные классы, обязаны предоставить определенные методы.
✔️Выбор между интерфейсами и абстрактными классами: Выбор зависит от того, нужно ли вам предоставить некоторую функциональность (в этом случае абстрактный класс может быть полезным) или просто гарантировать, что классы будут иметь определенное поведение (в этом случае интерфейсы подходят лучше).
✔️Общие сходства и различия: В заключении статьи отмечается, что интерфейсы и абстрактные классы имеют много общих черт, но они уделяют внимание разным аспектам программирования. Абстрактные классы ориентированы на предоставление базовой реализации, тогда как интерфейсы фокусируются на определении контрактов для разных классов.
Статья обсуждает различия между интерфейсами и абстрактными классами. Она поднимает несколько важных аспектов и рассматривает, когда следует использовать интерфейсы и абстрактные классы, а также какие преимущества они могут предоставить в разработке программного кода.
Вот основные моменты, которые статья затрагивает:
✔️Интерфейсы и абстрактные классы как контракты: Интерфейсы и абстрактные классы представляют собой способы определения контрактов между классами. Классы, реализующие интерфейсы или расширяющие абстрактные классы, обязаны предоставить определенные методы.
✔️Выбор между интерфейсами и абстрактными классами: Выбор зависит от того, нужно ли вам предоставить некоторую функциональность (в этом случае абстрактный класс может быть полезным) или просто гарантировать, что классы будут иметь определенное поведение (в этом случае интерфейсы подходят лучше).
✔️Общие сходства и различия: В заключении статьи отмечается, что интерфейсы и абстрактные классы имеют много общих черт, но они уделяют внимание разным аспектам программирования. Абстрактные классы ориентированы на предоставление базовой реализации, тогда как интерфейсы фокусируются на определении контрактов для разных классов.
DEV Community
Interfaces or abstract classes?
Working with objects can be tough sometimes, especially when you don't know which structure you need...
👍6❤4
Есть ли разница между self и this в PHP?
Главная разница между $this и self в PHP заключается в том, что $this используется для обращения к методам и свойствам текущего объекта, а self – для обращения к статическим методам, свойствам и константам класса.
Кроме того, $this может быть использован только в контексте текущего объекта, а self – в контексте самого класса и его потомков. Также стоит отметить, что $this является нестатическим контекстом, а self – статическим.
Еще одним отличием между $this и self является различие в их использовании в конструкторе класса. $this используется для присваивания значений свойствам экземпляра, тогда как self можно использовать для определения значений свойств самого класса.
#вопросы_с_собеседований
Главная разница между $this и self в PHP заключается в том, что $this используется для обращения к методам и свойствам текущего объекта, а self – для обращения к статическим методам, свойствам и константам класса.
Кроме того, $this может быть использован только в контексте текущего объекта, а self – в контексте самого класса и его потомков. Также стоит отметить, что $this является нестатическим контекстом, а self – статическим.
Еще одним отличием между $this и self является различие в их использовании в конструкторе класса. $this используется для присваивания значений свойствам экземпляра, тогда как self можно использовать для определения значений свойств самого класса.
#вопросы_с_собеседований
👍15🥱15❤1
Как оптимизировать производительность PHP в Google Cloud Run
Эта статья об оптимизации производительности API, написанного на PHP 7.4 и Laravel 8.0, развернутого на Cloud Run с использованием контейнерного образа с Nginx и PHP-FPM, а также с базой данных MySQL на Cloud SQL (управляемой базой данных на Google Cloud). Автор статьи предоставляет ряд советов и методов для улучшения времени ответа API и обработки большого количества одновременных пользователей.
Эта статья об оптимизации производительности API, написанного на PHP 7.4 и Laravel 8.0, развернутого на Cloud Run с использованием контейнерного образа с Nginx и PHP-FPM, а также с базой данных MySQL на Cloud SQL (управляемой базой данных на Google Cloud). Автор статьи предоставляет ряд советов и методов для улучшения времени ответа API и обработки большого количества одновременных пользователей.
Luca Cavallin
How to Optimize PHP Performance on Google Cloud Run | Blog
Discover ways to enhance PHP performance on Google Cloud Run.
👍4❤1🥱1