#advanced
Скрытые возможности PDO при маппинге данных на объекты.
http://marcosh.github.io/post/2017/01/05/pdo-fetch-func.html
Скрытые возможности PDO при маппинге данных на объекты.
http://marcosh.github.io/post/2017/01/05/pdo-fetch-func.html
Marcoshplace
Constructing objects with PDO
How to use PDO::FETCH_FUNC to create custom objects directly from PDO queries
#advanced
В Laravel 8 у Query Builder появился удобный метод upsert, который позволяет создать или обновить сразу несколько записей разом.
https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/
В Laravel 8 у Query Builder появился удобный метод upsert, который позволяет создать или обновить сразу несколько записей разом.
https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/
Amit Merchant - A blog on PHP, JavaScript, and more
Insert or update multiple records using upsert in Laravel 8.x
It would be useful sometimes when you’re not sure if you want to insert or update records and you’d let the system decide that. Laravel comes with one such feature that lets you do just that.
#video
Обзор архитектуры операционных систем на примере Linux.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpT4SMpYl6uVYi13k0k9CBiq
Обзор архитектуры операционных систем на примере Linux.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpT4SMpYl6uVYi13k0k9CBiq
#advanced
В этой статье объясняется, как работает unserialize.
https://vkili.github.io/blog/insecure%20deserialization/unserialize/
В этой статье объясняется, как работает unserialize.
https://vkili.github.io/blog/insecure%20deserialization/unserialize/
Vickie Li's Security Blog
Diving into unserialize()
How PHP’s unserialize() works, and why it leads to vulnerabilities.
#advanced
Используем Symfony компонент Messenger для реализации CQRS.
https://medium.com/@patrykwozinski/symfony-messenger-component-for-cqrs-applications-4f450b2a9124
Используем Symfony компонент Messenger для реализации CQRS.
https://medium.com/@patrykwozinski/symfony-messenger-component-for-cqrs-applications-4f450b2a9124
Medium
Symfony Messenger component for CQRS applications
Hi there! This article is mostly for people who, like me some time ago, are looking for information on how to configure Messenger for…
#advanced
Пример архитектуры приложения на PHP, основанного на Чистой Архитектуре (как понятия, а не книги) Роберта Мартина.
https://medium.com/engenharia-arquivei/a-decoupled-php-architecture-inspired-by-the-clean-architecture-788b30ab52c2
Пример архитектуры приложения на PHP, основанного на Чистой Архитектуре (как понятия, а не книги) Роберта Мартина.
https://medium.com/engenharia-arquivei/a-decoupled-php-architecture-inspired-by-the-clean-architecture-788b30ab52c2
Medium
A decoupled PHP architecture inspired by the Clean Architecture
How we create APIs and workers in PHP that won’t be a pain in a few years.
#laravel
В 8-й версии Laravel среди прочего есть возможность использовать динамические компоненты. Что это такое и как использовать, читайте в статье:
https://www.amitmerchant.com/dynamic-blade-components-in-laravel-8/
В 8-й версии Laravel среди прочего есть возможность использовать динамические компоненты. Что это такое и как использовать, читайте в статье:
https://www.amitmerchant.com/dynamic-blade-components-in-laravel-8/
Amit Merchant - A blog on PHP, JavaScript, and more
Dynamic blade components in Laravel 8
With the release of Laravel 8, you can now render Blade components dynamically using a built-in component called dynamic-component.
#advanced
Почему статические методы иногда могут быть злом, заражающим ваш код.
https://tomasvotruba.com/blog/2020/08/31/how-static-methods-kills-you-like-corona/
Почему статические методы иногда могут быть злом, заражающим ваш код.
https://tomasvotruba.com/blog/2020/08/31/how-static-methods-kills-you-like-corona/
Tomasvotruba
How Static Methods Kill You Like Corona
Do you know [the Broken Window theory](https://blog.codinghorror.com/the-broken-window-theory/)? It's a social pattern in code, a great post written by a guy behind one small manual website - StackOverflow.
If you combine this theory and Static Methods…
If you combine this theory and Static Methods…
#advanced
Способ гидрации массива в объекты через конструктор.
https://tomasvotruba.com/blog/2020/04/20/how-to-hydrate-arrays-to-objects-via-constructor/
Способ гидрации массива в объекты через конструктор.
https://tomasvotruba.com/blog/2020/04/20/how-to-hydrate-arrays-to-objects-via-constructor/
Tomasvotruba
How to Hydrate Arrays to Objects via Constructor
One technology evolution sparks naturally another one. When electricity became accessible to masses, a huge industry of home-electric tools became possible. Like this tool, I currently write on.
The same thing happens in software, just exponentially faster.…
The same thing happens in software, just exponentially faster.…
#junior #web
Из этой статьи вы познакомитесь с основами работы веба: как работает DNS, как устроен HTTP, как взаимодействуют между собой клиент (ваш веб-браузер) и сервер и многое другое.
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/03.1.md
Из этой статьи вы познакомитесь с основами работы веба: как работает DNS, как устроен HTTP, как взаимодействуют между собой клиент (ваш веб-браузер) и сервер и многое другое.
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/03.1.md
GitHub
build-web-application-with-golang/ru/03.1.md at master · astaxie/build-web-application-with-golang
A golang ebook intro how to build a web with golang - astaxie/build-web-application-with-golang
#hints
Если метод или функция, которые вы вызываете, требует от вас аргумент типа callable, вы можете передать туда не только реальный Closure, но и массив вида: [new ClassName(), 'methodInsideClass']
Пример:
final class PHP
{
public function do()
{
return 'some';
}
}
function call(callable $func)
{
return $func();
}
var_dump(call([new PHP(), 'do'])); // string(5) "some"
Если метод или функция, которые вы вызываете, требует от вас аргумент типа callable, вы можете передать туда не только реальный Closure, но и массив вида: [new ClassName(), 'methodInsideClass']
Пример:
final class PHP
{
public function do()
{
return 'some';
}
}
function call(callable $func)
{
return $func();
}
var_dump(call([new PHP(), 'do'])); // string(5) "some"
#advanced
Несколько советов по рефакторингу PHP кода.
https://christoph-rumpel.com/2020/8/refactoring-php
Несколько советов по рефакторингу PHP кода.
https://christoph-rumpel.com/2020/8/refactoring-php
Christoph-Rumpel
Refactoring PHP
I've been programming in PHP now for almost ten years, and if there is one thing I learned over this period, it's that readability and simplicity are the keys for maintainable and sustainable code. Every first attempt to write code should be about making…
#advanced
Если вы задумывались о том, что хотели бы поучаствовать в разработке опенсорс проекта, эта статья расскажет вам, как это делать правильно.
https://johnbraun.blog/posts/contributing-to-a-PHP-package
Если вы задумывались о том, что хотели бы поучаствовать в разработке опенсорс проекта, эта статья расскажет вам, как это делать правильно.
https://johnbraun.blog/posts/contributing-to-a-PHP-package
#video
5 книг, которые должен прочитать каждый разработчик, по мнению Дейва Фарли, автора книги «Непрерывное развертывание ПО».
https://youtu.be/RfOYWeu5pGk
5 книг, которые должен прочитать каждый разработчик, по мнению Дейва Фарли, автора книги «Непрерывное развертывание ПО».
https://youtu.be/RfOYWeu5pGk
YouTube
5 Books That Can Change A Developer’s Career
What are the best software developer books? This is obviously a subjective question. The best books for a software engineer or developer are always going to be a personal choice, and vary by their interests and maybe the technology that they work in, but…
#testing
Приложение, которое может помочь протестировать входящие http запросы: например, вебхуки. Написано на PHP, кстати. Можно посмотреть исходный код по ссылке
https://httpdump.app/.
Приложение, которое может помочь протестировать входящие http запросы: например, вебхуки. Написано на PHP, кстати. Можно посмотреть исходный код по ссылке
https://httpdump.app/.
#mustread
Большой пополняемый список знаний, в который включены теории, законы, принципы, паттерны разработки и многое другое, что однозначно будет полезно знать каждому разработчику.
https://github.com/dwmkerr/hacker-laws
Большой пополняемый список знаний, в который включены теории, законы, принципы, паттерны разработки и многое другое, что однозначно будет полезно знать каждому разработчику.
https://github.com/dwmkerr/hacker-laws
GitHub
GitHub - dwmkerr/hacker-laws: 🧠 Laws, Theories, Principles and Patterns for developers and technologists.
🧠 Laws, Theories, Principles and Patterns for developers and technologists. - dwmkerr/hacker-laws
#advanced
Анна Филина рассуждает про null как о возвращаемом типе.
https://afilina.com/learn/nulls/return-types
Анна Филина рассуждает про null как о возвращаемом типе.
https://afilina.com/learn/nulls/return-types
#library
Библиотека для реализации долгоживущих воркеров от Валентина Удальцова.
https://github.com/happy-inc-tech/worker
Библиотека для реализации долгоживущих воркеров от Валентина Удальцова.
https://github.com/happy-inc-tech/worker
GitHub
GitHub - happy-inc-tech/worker
Contribute to happy-inc-tech/worker development by creating an account on GitHub.
#advanced
Некоторые приемы асинхронного выполнения кода на PHP. В статьях показаны в основном олдускульные способы, не упоминаются amphp и reactphp, но есть и интересные возможности. Так, например, ларавел и симфони уже используют директиву fastcgi_finish_request, которая позволяет отдать ответ клиенту и после этого выполнить еще код.
https://proglib.io/w/fe2d0b56
Некоторые приемы асинхронного выполнения кода на PHP. В статьях показаны в основном олдускульные способы, не упоминаются amphp и reactphp, но есть и интересные возможности. Так, например, ларавел и симфони уже используют директиву fastcgi_finish_request, которая позволяет отдать ответ клиенту и после этого выполнить еще код.
https://proglib.io/w/fe2d0b56