Laravel_beond_crud.pdf
1.5 MB
#advanced #php
В php нет нативной поддержки дженериков и вряд ли будет, однако есть возможность иммитировать их с помощью стат. анализаторов таких как psalm и phpstan. В этой статье рассказывается, как вы можете начать использовать дженерики, поставив на проект phpstan.
https://medium.com/@ondrejmirtes/generics-in-php-using-phpdocs-14e7301953
В php нет нативной поддержки дженериков и вряд ли будет, однако есть возможность иммитировать их с помощью стат. анализаторов таких как psalm и phpstan. В этой статье рассказывается, как вы можете начать использовать дженерики, поставив на проект phpstan.
https://medium.com/@ondrejmirtes/generics-in-php-using-phpdocs-14e7301953
Medium
Generics in PHP using PHPDocs
A couple of years I wrote an impactful article on union and intersection types. It helped the PHP community to familiarize themselves with…
#cors
Наверняка многие из вас сталкивались с ошибкой вида has been blocked by CORS policy. Для веб-разработчика очень важно знать, что такое cors, csrf и как решать проблемы, связанные с ними.
https://engineering.mixmax.com/blog/modern-csrf/
https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
Наверняка многие из вас сталкивались с ошибкой вида has been blocked by CORS policy. Для веб-разработчика очень важно знать, что такое cors, csrf и как решать проблемы, связанные с ними.
https://engineering.mixmax.com/blog/modern-csrf/
https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
MDN Web Docs
Cross-Origin Resource Sharing (CORS) - HTTP | MDN
Cross-Origin Resource Sharing (CORS) — механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность агенту пользователя получать разрешения на доступ к выбранным ресурсам с сервера на источнике (домене), отличном от того, что сайт использует…
#advanced
Подкаст о статических анализаторах (psalm, phan), о том, как они работают внутри, зачем нужна типизация и о многом другом.
https://soundcloud.com/between-braces/11-valentin-udaltsov-staticheskiy-analiz
Подкаст о статических анализаторах (psalm, phan), о том, как они работают внутри, зачем нужна типизация и о многом другом.
https://soundcloud.com/between-braces/11-valentin-udaltsov-staticheskiy-analiz
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
#advanced #video
Вчера на стриме ребята порефакторили пакет yiisoft/validator, часть будущего yii3. Фреймворк еще не успел зарелизиться, а в нем уже есть, что порефакторить (yii держит уровень). В любом случае предлагаем посмотреть на приемы, которые можно использовать при рефакторинге своих проектов.
https://www.youtube.com/watch?v=ucO7229o8Ew
Вчера на стриме ребята порефакторили пакет yiisoft/validator, часть будущего yii3. Фреймворк еще не успел зарелизиться, а в нем уже есть, что порефакторить (yii держит уровень). В любом случае предлагаем посмотреть на приемы, которые можно использовать при рефакторинге своих проектов.
https://www.youtube.com/watch?v=ucO7229o8Ew
YouTube
Рефакторим c Александром Макаровым, Валентином Удальцовым, Валентином Назаровым, Леонидом Корсаковым
Стрим, на котором ребята из Yii, Skyeng, каналов Пых и PHPKazan посмотрят на код популярного гитхаб-проекта, найдут, что там порефакторить (и порефакторят).
00:22 - Интро от ведущих - Александра Макарова (Yii) и Валентина Назарова (Skyeng)
04:32 - В эфир…
00:22 - Интро от ведущих - Александра Макарова (Yii) и Валентина Назарова (Skyeng)
04:32 - В эфир…
#advanced
Обнаруживаем и исправляем проблемы с утечкой памяти в PHP.
https://dev.to/tddenbraber/finding-memory-issues-in-php-programs-2i50
Обнаруживаем и исправляем проблемы с утечкой памяти в PHP.
https://dev.to/tddenbraber/finding-memory-issues-in-php-programs-2i50
DEV Community
Finding memory issues in PHP programs
Finding memory issues in PHP programs "Fatal error: Allowed memory size of 2097152 bytes e...
#advanced
Используем файл .gitattributes для php проектов.
https://php.watch/articles/composer-gitattributes
Используем файл .gitattributes для php проектов.
https://php.watch/articles/composer-gitattributes
PHP.Watch
GitAttributes for PHP Composer Projects
How to use a `.gitattributes` file to reduce the package size of Composer packages.
В Laravel 8 есть фасад RateLimiter, что он умеет и для чего - читайте в статье.
https://www.amitmerchant.com/new-ratelimiter-facade-in-laravel-8/
https://www.amitmerchant.com/new-ratelimiter-facade-in-laravel-8/
Amit Merchant - A blog on PHP, JavaScript, and more
New RateLimiter facade for defining named rate limiters in Laravel 8
In the previous versions of Laravel, up to 7.x, when you wanted to rate limit certain routes, you could do it by assigning the throttle middleware to the route or group of routes like so.
#advanced
Вышел PhpStorm 2020.3 EAP с поддержкой psalm и phpstan! Те, кто очень ждал, могут уже сейчас скачать и попробовать.
https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-3-eap-2/
Вышел PhpStorm 2020.3 EAP с поддержкой psalm и phpstan! Те, кто очень ждал, могут уже сейчас скачать и попробовать.
https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-3-eap-2/
The JetBrains Blog
PhpStorm 2020.3 EAP #2: PHPStan and Psalm Support Out-of-the-Box | The PhpStorm Blog
This EAP build brings support for PHPStan and Psalm static analyzers to PhpStorm.Last week, we launched the Early Access Program for PhpStorm 2020.3. For the next two months, we are going to be re
#laravel
Полный обзор на инструменты аутентификации в современном Laravel.
https://samuelstancl.me/blog/the-complete-guide-to-laravel-frontend-scaffolding/
Полный обзор на инструменты аутентификации в современном Laravel.
https://samuelstancl.me/blog/the-complete-guide-to-laravel-frontend-scaffolding/
#video #refactoring
Доклад об опыте переноса боевого проекта на PHP 7.
https://www.youtube.com/watch?v=MX7Wbt9rCsg
Доклад об опыте переноса боевого проекта на PHP 7.
https://www.youtube.com/watch?v=MX7Wbt9rCsg
YouTube
Перенос проекта на PHP 7: от сбора фактов до результата (Максим Шамаев, Skyeng)
Максим пришел в древний, но боевой сервис. Поработал и понял, что жить в старом коде дальше нельзя. Оставалось убедить в этом бизнес, команду...и полностью организовать переезд проекта. Слайды https://bit.ly/3m8je61
02:33 Зачем переписывать код, в котором…
02:33 Зачем переписывать код, в котором…
#video #xdebug
Учимся профилировать с помощью Xdebug и самим создателем профилировщика.
https://www.youtube.com/watch?v=mNc_tcomrVs
Учимся профилировать с помощью Xdebug и самим создателем профилировщика.
https://www.youtube.com/watch?v=mNc_tcomrVs
YouTube
Profiling PHP Applications with Xdebug | Rawkode Live
In this episode, joined by Derick Rethans, we take a look at Xdebug and how it help you profile your PHP applications, allowing you to use a profiling front-end, like qcachegrind, to visualise your call graphs and dig into the bottlenecks of your applications.…
#php #builtin
В php есть возможность деструктурировать массив, и сделать это можно не только с помощью функции list, но и другим необычным способом. Если вы еще не знаете про это, добро пожаловать в статью.
https://sergeymukhin.com/blog/destrukturizatsiya-massiva-v-php
В php есть возможность деструктурировать массив, и сделать это можно не только с помощью функции list, но и другим необычным способом. Если вы еще не знаете про это, добро пожаловать в статью.
https://sergeymukhin.com/blog/destrukturizatsiya-massiva-v-php
Sergeymukhin
Деструктуризация массива в PHP
В PHP list является такой же «языковой конструкцией», как и array(). Эта языковая конструкция используется для «разложения» массива на переменные
#advanced #php8
Обзор всех фич, депрекешейнов и возможностей php 8, собранных в одной статье.
https://stitcher.io/blog/new-in-php-8
Обзор всех фич, депрекешейнов и возможностей php 8, собранных в одной статье.
https://stitcher.io/blog/new-in-php-8
stitcher.io
What's new in PHP 8 - stitcher.io
PHP 8.0 brings features like attributes, union types, and the JIT compiler. It has some important breaking changes, and improved performance.
#advanced #php8
Статья о классе WeakMap в PHP 8. Зачем он нужен и какие проблемы решает, можно узнать из статьи.
https://php.watch/articles/practical-weakmap
Статья о классе WeakMap в PHP 8. Зачем он нужен и какие проблемы решает, можно узнать из статьи.
https://php.watch/articles/practical-weakmap
PHP.Watch
PHP 8 Weak Maps and Practical Use Cases
A guide to use effectively use the WeakMaps feature in PHP 8.0.
#advanced
Библиотека, позволяющая контролировать зависимости в вашем проекте и их направление.
https://github.com/mihaeu/dephpend
Библиотека, позволяющая контролировать зависимости в вашем проекте и их направление.
https://github.com/mihaeu/dephpend
GitHub
GitHub - mihaeu/dephpend: Detect flaws in your architecture, before they drag you down into the depths of dependency hell ...
Detect flaws in your architecture, before they drag you down into the depths of dependency hell ... - mihaeu/dephpend
#lib #advanced
Удобный и быстрый клиент для работы с брокером сообщений RabbitMQ.
https://github.com/jakubkulhan/bunny
Удобный и быстрый клиент для работы с брокером сообщений RabbitMQ.
https://github.com/jakubkulhan/bunny
GitHub
GitHub - jakubkulhan/bunny: Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library
Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library - jakubkulhan/bunny
#advanced #rfc
Два полезных rfc о двух популярных стандартах: oauth2 и jwt. В них раскрывается предназначение каждого из подходов, детали реализаций, хорошие практики и другие факты, о которых вы могли не знать.
https://tools.ietf.org/html/rfc6749
https://tools.ietf.org/html/rfc7519
Два полезных rfc о двух популярных стандартах: oauth2 и jwt. В них раскрывается предназначение каждого из подходов, детали реализаций, хорошие практики и другие факты, о которых вы могли не знать.
https://tools.ietf.org/html/rfc6749
https://tools.ietf.org/html/rfc7519
IETF Datatracker
RFC 6749: The OAuth 2.0 Authorization Framework
The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing…
#advanced
А вы слышали про корутины? А вы знаете, что корутины можно реализовать также и на PHP? Конечно, это не так очевидно, как в других языках программирования, но такая возможность есть. Подробнее в статье Никиты Попова, одного из главных разработчиков современного PHP:
https://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html
А вы слышали про корутины? А вы знаете, что корутины можно реализовать также и на PHP? Конечно, это не так очевидно, как в других языках программирования, но такая возможность есть. Подробнее в статье Никиты Попова, одного из главных разработчиков современного PHP:
https://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html