Опишите реализацию одного из шаблонов проектирования.
Один из популярных шаблонов проектирования в PHP - это шаблон "Одиночка" (Singleton).
Реализация данного шаблона основана на создании класса, который может иметь только один экземпляр и предоставлять глобальную точку доступа к этому экземпляру.
Пример реализации шаблона "Одиночка" в PHP:
class Singleton {
private static $instance;
private function __construct() {
// Приватный конструктор для предотвращения создания экземпляров класса
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
public function someMethod() {
// Реализация методов класса
}
}
В данной реализации класс Singleton имеет приватный конструктор, который позволяет создать только один экземпляр класса. Статический метод `getInstance()` проверяет, существует ли уже экземпляр класса Singleton. Если экземпляр отсутствует, то он создается при помощи оператора `new self()`, а затем сохраняется в статической переменной `$instance`. В конце метод `getInstance()` возвращает экземпляр класса.
#вопросы_с_собеседований
Один из популярных шаблонов проектирования в PHP - это шаблон "Одиночка" (Singleton).
Реализация данного шаблона основана на создании класса, который может иметь только один экземпляр и предоставлять глобальную точку доступа к этому экземпляру.
Пример реализации шаблона "Одиночка" в PHP:
class Singleton {
private static $instance;
private function __construct() {
// Приватный конструктор для предотвращения создания экземпляров класса
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
public function someMethod() {
// Реализация методов класса
}
}
В данной реализации класс Singleton имеет приватный конструктор, который позволяет создать только один экземпляр класса. Статический метод `getInstance()` проверяет, существует ли уже экземпляр класса Singleton. Если экземпляр отсутствует, то он создается при помощи оператора `new self()`, а затем сохраняется в статической переменной `$instance`. В конце метод `getInstance()` возвращает экземпляр класса.
#вопросы_с_собеседований
🤯9👍7😁2🤔2❤1
🔍Все самое полезное для айтишников в одном канале: анализ рынка труда, советы по Git, подкасты про разработку, новости и просто мемы.
Подписываемся на «Библиотеку программиста» (если еще не) — источник действительно качественного технического контента.
👉Подписаться👈
Подписываемся на «Библиотеку программиста» (если еще не) — источник действительно качественного технического контента.
👉Подписаться👈
❤2🍌2
Решение с чистым кодом для вашего DevOps Workflow в PHP
Статья представляет собой руководство, посвященное применению принципов чистого кода в рамках рабочего процесса DevOps в PHP. Она объясняет, как применять чистый код при разработке, автоматическом тестировании, развертывании и поддержке PHP-приложений.
Также здесь показано, как инструмент Exakat может помочь внедрить эти принципы в DevOps-процесс и автоматически проверять качество кода на основе правил чистого кода.
Статья представляет собой руководство, посвященное применению принципов чистого кода в рамках рабочего процесса DevOps в PHP. Она объясняет, как применять чистый код при разработке, автоматическом тестировании, развертывании и поддержке PHP-приложений.
Также здесь показано, как инструмент Exakat может помочь внедрить эти принципы в DevOps-процесс и автоматически проверять качество кода на основе правил чистого кода.
❤2
Как два байта переслать: контрибьютим в KPHP
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
Здесь будет рассказано про добавление новых функций в runtime KPHP.
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
Здесь будет рассказано про добавление новых функций в runtime KPHP.
Хабр
Как два байта переслать: контрибьютим в KPHP
Что такое KPHP kphp-1 KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте....
❤8👍2🌚2
Какой IDE пользуетесь?⬇️⬇️⬇️
❤1
Получение информации о геолокации с помощью PHP SDK IP2Location в Slim
Статья рассказывает о том, как использовать PHP SDK IP2Location в фреймворке Slim для извлечения геолокационной информации из IP-адресов. IP2Location - это база данных, которая позволяет определить географические данные на основе IP-адресов, такие как страна, регион, город, почтовый индекс и координаты широты и долготы.
Статья рассказывает о том, как использовать PHP SDK IP2Location в фреймворке Slim для извлечения геолокационной информации из IP-адресов. IP2Location - это база данных, которая позволяет определить географические данные на основе IP-адресов, такие как страна, регион, город, почтовый индекс и координаты широты и долготы.
DEV Community
Retrieval of geolocation information using IP2Location's PHP SDKs in Slim
Slim PHP is a micro framework for PHP that simplifies web application development, offering essential...
👍9❤1
Еще один #дайджест новостей по PHP за неделю:
🔎PhpStorm 2023.2 Beta
🔎Неделя Symfony # 864 (17–23 июля 2023 г.)
🔎Взгляд на то, что будет в Laravel 11
🔎Laravel Folio — это новая автоматическая система маршрутизации на основе файлов и каталогов
🔎PHP 8.3.0 Beta 1 доступна для тестирования
🔎PhpStorm 2023.2 Beta
🔎Неделя Symfony # 864 (17–23 июля 2023 г.)
🔎Взгляд на то, что будет в Laravel 11
🔎Laravel Folio — это новая автоматическая система маршрутизации на основе файлов и каталогов
🔎PHP 8.3.0 Beta 1 доступна для тестирования
👍5
Курс «Алгоритмы и структуры данных» для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьере.
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
«распараллелить» php и сохранить его простым
Здесь рассказывается про концепцию «параллельных страниц», с помощью которой можно сделать подобие параллелизма без применения сторонних библиотек(кроме cURL)
Здесь рассказывается про концепцию «параллельных страниц», с помощью которой можно сделать подобие параллелизма без применения сторонних библиотек(кроме cURL)
Nick Gavalas’ personal blog
“parallelizing” php and keeping it simple
There are many problems to which “If it’s silly and it works, it isn’t silly” might apply. These sorts of problems come up surprisingly often in software engineering. It’s tempting to reach for complex solutions and we need to constantly remind ourselves…
👍4❤1🌚1🌭1
10 идей по разработке на Laravel для улучшения навыков
В статье перечислено 10 заданий или проектов, которые можно выполнить, чтобы продемонстрировать свои навыки в работе с Laravel. Эти задания включают в себя разработку API, приложения CRUD, Система аутентификации пользователей и другими типичными функциональностями, которые могут встретиться в реальных проектах.
В статье перечислено 10 заданий или проектов, которые можно выполнить, чтобы продемонстрировать свои навыки в работе с Laravel. Эти задания включают в себя разработку API, приложения CRUD, Система аутентификации пользователей и другими типичными функциональностями, которые могут встретиться в реальных проектах.
❤8🌭2
Разница между внедрением службы непосредственно во view и внедрением служб через определение роута
Статья рассматривает разницу между внедрением сервиса прямо в представление (view) и внедрением сервисов в представление через определение маршрута.
Внедрение сервиса прямо в представление означает, что сервис инстанцируется и используется непосредственно внутри представления. Это означает, что сервис доступен только этому представлению и не может быть использован другими компонентами приложения.
Внедрение сервисов через определение маршрута подразумевает добавление сервисов в контекст маршрута, который затем может быть использован представлением, связанным с этим маршрутом. Это означает, что сервисы могут быть использованы не только в представлении, но и в других компонентах, связанных с этим маршрутом.
Автор заканчивает тем, что в большинстве случаев лучше использовать второй вариант, однако @inject можно использовать тогда, когда вы уверены в том, что сервис будет использоваться только в этом view, чтобы не усложнять код приложения.
Статья рассматривает разницу между внедрением сервиса прямо в представление (view) и внедрением сервисов в представление через определение маршрута.
Внедрение сервиса прямо в представление означает, что сервис инстанцируется и используется непосредственно внутри представления. Это означает, что сервис доступен только этому представлению и не может быть использован другими компонентами приложения.
Внедрение сервисов через определение маршрута подразумевает добавление сервисов в контекст маршрута, который затем может быть использован представлением, связанным с этим маршрутом. Это означает, что сервисы могут быть использованы не только в представлении, но и в других компонентах, связанных с этим маршрутом.
Автор заканчивает тем, что в большинстве случаев лучше использовать второй вариант, однако @inject можно использовать тогда, когда вы уверены в том, что сервис будет использоваться только в этом view, чтобы не усложнять код приложения.
❤3👍3🔥1
5 недооцененных особенностей Filament
Недавно у нас был пост, где рассказывается про FilamentPHP. А сегодня мы рассмотрим 5 фишек ,которые многие банально не замечают и не знают, тогда как они могут серьезно возвысить Filament над конкурентами.
Недавно у нас был пост, где рассказывается про FilamentPHP. А сегодня мы рассмотрим 5 фишек ,которые многие банально не замечают и не знают, тогда как они могут серьезно возвысить Filament над конкурентами.
Telegram
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
FilamentPHP: первый взгляд
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц…
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц…
❤6
Что такое Service Layer и где его следует применять?
Service Layer - это слой в архитектуре программного обеспечения, который расположен между слоем представления (например, пользовательским интерфейсом) и слоем данных (например, базой данных). Он обеспечивает необходимую логику и бизнес-правила для работы приложения.
Service Layer можно применять в различных типах приложений, в том числе и в веб-приложениях, написанных на PHP.
Вот несколько примеров, когда имеет смысл использовать Service Layer:
1. Обработка бизнес-логики: Service Layer позволяет выделить и объединить логику, связанную с бизнес-процессами, в отдельный слой. Это помогает упростить и структурировать код, а также повысить его переиспользуемость.
2. Взаимодействие со слоем данных: Service Layer может служить посредником между представлением и слоем данных, скрывая сложность взаимодействия с базой данных или другими источниками данных. Он может выполнять запросы к базе данных, обрабатывать полученные данные и передавать их представлению.
3. Проверка прав доступа: Service Layer часто используется для обеспечения безопасности и проверки прав доступа в приложении. Он может содержать логику аутентификации пользователей, авторизации, а также проводить проверки на соответствие правилам и ограничениям доступа.
4. Координация процессов: Service Layer может брать на себя координацию и управление выполнением различных процессов в приложении, например, обработку заказов, рассылку уведомлений и т. д. Он может вызывать соответствующие методы и сервисы для выполнения необходимых действий.
Подробная статья на эту тему на Хабре
#вопросы_с_собеседований
Service Layer - это слой в архитектуре программного обеспечения, который расположен между слоем представления (например, пользовательским интерфейсом) и слоем данных (например, базой данных). Он обеспечивает необходимую логику и бизнес-правила для работы приложения.
Service Layer можно применять в различных типах приложений, в том числе и в веб-приложениях, написанных на PHP.
Вот несколько примеров, когда имеет смысл использовать Service Layer:
1. Обработка бизнес-логики: Service Layer позволяет выделить и объединить логику, связанную с бизнес-процессами, в отдельный слой. Это помогает упростить и структурировать код, а также повысить его переиспользуемость.
2. Взаимодействие со слоем данных: Service Layer может служить посредником между представлением и слоем данных, скрывая сложность взаимодействия с базой данных или другими источниками данных. Он может выполнять запросы к базе данных, обрабатывать полученные данные и передавать их представлению.
3. Проверка прав доступа: Service Layer часто используется для обеспечения безопасности и проверки прав доступа в приложении. Он может содержать логику аутентификации пользователей, авторизации, а также проводить проверки на соответствие правилам и ограничениям доступа.
4. Координация процессов: Service Layer может брать на себя координацию и управление выполнением различных процессов в приложении, например, обработку заказов, рассылку уведомлений и т. д. Он может вызывать соответствующие методы и сервисы для выполнения необходимых действий.
Подробная статья на эту тему на Хабре
#вопросы_с_собеседований
❤8👍1
Преобразование PHP-проекта в Android-приложение
Статья подробно описывает процесс создания простого приложения Android, которое использует HopWeb для загрузки стороннего веб-приложения PHP. Автор объясняет, как настроить проект Android, как добавить HopWeb в макет приложения и как загрузить веб-приложение PHP с помощью HopWeb.
Основная часть статьи включает примеры, которые иллюстрируют каждый шаг процесса конвертации в подробностях.
Статья подробно описывает процесс создания простого приложения Android, которое использует HopWeb для загрузки стороннего веб-приложения PHP. Автор объясняет, как настроить проект Android, как добавить HopWeb в макет приложения и как загрузить веб-приложение PHP с помощью HopWeb.
Основная часть статьи включает примеры, которые иллюстрируют каждый шаг процесса конвертации в подробностях.
DEV Community
Convert PHP Project to Android App
Before Beginning PHP is an excellent choice for beginners to learn about development of...
👍6❤1🌚1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📉 Cитуация на рынке труда в IT: зарплаты и куда все катится в 2023 году
Спойлер: все неоднозначно, сложно и, местами, — плачевно. По крайней мере, об этом говорит статистика за первое полугодие 2023 года.
🔗 Основной сайт
🔗 Зеркало
Спойлер: все неоднозначно, сложно и, местами, — плачевно. По крайней мере, об этом говорит статистика за первое полугодие 2023 года.
🔗 Основной сайт
🔗 Зеркало
🔥2❤1👍1
Rector в Легаси-проектах
Здесь описывается, как использовать Rector для максимального охвата типов устаревшего проекта. Чем больше типов определено в кодовой базе, тем лучше будут результаты вашей IDE или инструментов статического анализа.
Тут рассказано о том, как использовать инструмент Rector для упрощения обслуживания и обновления старых проектов. Rector - это инструмент на PHP, который автоматически анализирует код и предлагает исправления, чтобы сделать его более современным и поддерживаемым.
Здесь описывается, как использовать Rector для максимального охвата типов устаревшего проекта. Чем больше типов определено в кодовой базе, тем лучше будут результаты вашей IDE или инструментов статического анализа.
Тут рассказано о том, как использовать инструмент Rector для упрощения обслуживания и обновления старых проектов. Rector - это инструмент на PHP, который автоматически анализирует код и предлагает исправления, чтобы сделать его более современным и поддерживаемым.
My developer experience
Rector in legacy projects
After collecting some experience with introducing Rector to legacy projects, I want to write down what I have learned along the way.
❤4
Raven — Как протестировать документацию и поведение вашего API.
Эта библиотека была написана, чтобы упростить тестирование документации OpenAPI. Это также позволяет проверить, совместима ли реализация вашего кода с этой документацией.
Эта библиотека была написана, чтобы упростить тестирование документации OpenAPI. Это также позволяет проверить, совместима ли реализация вашего кода с этой документацией.
GitHub
GitHub - CHStudio/Raven: Testing your OpenApi documentation and your code easily.
Testing your OpenApi documentation and your code easily. - CHStudio/Raven
👍2❤1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 🚀
PHP-разработчик в Rubix
Москва. Интернет-маркетингом.
Подробнее
Junior PHP в Сеть фитнес-клубов Spirit
Москва. Фитнес-клуб.
Подробнее
Разработчик PHP/Laravel в CQ
Москва. Киберспорт и гейминг.
Подробнее
Web разработчик в Лико-Финанс
Москва. Информационные технологии и экономически эффективные решения.
Подробнее
PHP разработчик middle в Мой Самокат
Москва. Аренда девайсов по системе подписки.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
Вакансии недели для Москвы 🚀
PHP-разработчик в Rubix
Москва. Интернет-маркетингом.
Подробнее
Junior PHP в Сеть фитнес-клубов Spirit
Москва. Фитнес-клуб.
Подробнее
Разработчик PHP/Laravel в CQ
Москва. Киберспорт и гейминг.
Подробнее
Web разработчик в Лико-Финанс
Москва. Информационные технологии и экономически эффективные решения.
Подробнее
PHP разработчик middle в Мой Самокат
Москва. Аренда девайсов по системе подписки.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
hh.ru
Вакансия PHP-разработчик в Москве, работа в компании Rubix (вакансия в архиве c 25 августа 2023)
Зарплата: от 75000 до 100000 ₽. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 22.08.2023.
😁6❤5👍1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤2