Управление памятью в PHP. Сборка мусора, слабые ссылки и прочая челядь
Подробная статья о том, как работает память и управление ей в PHP.
Подробная статья о том, как работает память и управление ей в PHP.
Хабр
Управление памятью в PHP. Сборка мусора, слабые ссылки и прочая челядь
Содержание Введенние. Zval. Циклические ссылки. Сборщик мусора. Алгоритм работы сборщика мусора. Смотрим глазами. Слабые ссылки. Бонус-трэк: WeakMap. Заключение. Введенние В PHP память для всех наших...
👍16❤6🔥1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 🚀
Senior Backend Developer в Перфект Системс
Москва. Автоматизация бизнес-процессов.
Подробнее
PHP (Laravel) разработчик в Kvando Technologies
Москва. Разработка, тестирование и поддержка ИТ-продуктов.
Подробнее
Программист PHP в Пиксель Плюс
Москва. Поисковое продвижение, разработка сайтов.
Подробнее
Back-end разработчик в TextMagic
Москва. Платформа для обмена SMS-сообщениями.
Подробнее
Backend-разработчик PHP Laravel в Art Village
Москва. Загородный комплекс.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
Вакансии недели для Москвы 🚀
Senior Backend Developer в Перфект Системс
Москва. Автоматизация бизнес-процессов.
Подробнее
PHP (Laravel) разработчик в Kvando Technologies
Москва. Разработка, тестирование и поддержка ИТ-продуктов.
Подробнее
Программист PHP в Пиксель Плюс
Москва. Поисковое продвижение, разработка сайтов.
Подробнее
Back-end разработчик в TextMagic
Москва. Платформа для обмена SMS-сообщениями.
Подробнее
Backend-разработчик PHP Laravel в Art Village
Москва. Загородный комплекс.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
hh.ru
Вакансия Senior Backend Developer (PHP) в Москве, работа в компании Перфект Системс (вакансия в архиве c 23 сентября 2023)
Зарплата: от 400000 ₽ за месяц. Москва. Требуемый опыт: более 6 лет. Полная занятость. Дата публикации: 20.09.2023.
❤7🤔4
#ищу_команду
Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
❤4👍1
RESTful API с DreamFactory
DreamFactory – это опенсорс фреймворк, предназначенный для облегчения создания и управления RESTful API.
Здесь дан обзор основных функций DreamFactory, таких как создание API с помощью конфигурационного интерфейса, управление разрешениями доступа и безопасностью, аутентификация пользователей, поддержка различных баз данных и форматов данных, а также возможности мониторинга и отладки API.
DreamFactory – это опенсорс фреймворк, предназначенный для облегчения создания и управления RESTful API.
Здесь дан обзор основных функций DreamFactory, таких как создание API с помощью конфигурационного интерфейса, управление разрешениями доступа и безопасностью, аутентификация пользователей, поддержка различных баз данных и форматов данных, а также возможности мониторинга и отладки API.
❤3
Опишите реализацию одного из шаблонов проектирования.
Один из популярных шаблонов проектирования в 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