michael_backend's profile picture. Into software.

"Our tech is more complicated than it should be."

Michael Rubรฉl ๐Ÿ‡บ๐Ÿ‡ฆ

@michael_backend

Into software. "Our tech is more complicated than it should be."

PHP teams are getting confused by the meaning of stateful applications in Laravel. It's not PHP-FPM anymore! I've compiled a list of things you might consider when using Laravel Octane. You can contribute if I'm missing something! ๐Ÿค— #PHP #Laravel #Octane github.com/michael-rubel/โ€ฆ


This weekend I've updated my open-source packages to support Laravel 11. Enjoy upgrading the apps! ๐Ÿ˜‰

michael_backend's tweet image. This weekend I've updated my open-source packages to support Laravel 11. Enjoy upgrading the apps! ๐Ÿ˜‰

Need a simple PHP web service installation? Did you know you can run your Laravel Octane application without Nginx at all? Configure it to listen on port 80 and let Cloudflare handle SSL termination and asset caching. โœจ #php #laravel #octane

michael_backend's tweet image. Need a simple PHP web service installation? Did you know you can run your Laravel Octane application without Nginx at all? Configure it to listen on port 80 and let Cloudflare handle SSL termination and asset caching. โœจ

#php #laravel #octane

Working with a `parallel` extension for PHP. It allows you to spawn threads. I find it extremely useful for CLI apps, and I wish this extension got a broader adoption in the community. #php #programming #multithreading

michael_backend's tweet image. Working with a `parallel` extension for PHP. It allows you to spawn threads. I find it extremely useful for CLI apps, and I wish this extension got a broader adoption in the community.

#php #programming #multithreading

Contributed a new `Vite::content()` method to Laravel. It allows you to pack your Vite assets directly into the webpage avoiding requests to the server. The method is available starting from Laravel v10.18.0. #laravel #php

michael_backend's tweet image. Contributed a new `Vite::content()` method to Laravel. It allows you to pack your Vite assets directly into the webpage avoiding requests to the server. The method is available starting from Laravel v10.18.0.

#laravel #php

Working on a new Laravel app using a hexagonal architecture with elements of DDD. The goal is to abstract the domain while keeping an Eloquent and almost default outer folder structure. When abstracted right, it feels much cleaner compared to the default-structure projects. ๐Ÿงน๐Ÿ˜„

michael_backend's tweet image. Working on a new Laravel app using a hexagonal architecture with elements of DDD. The goal is to abstract the domain while keeping an Eloquent and almost default outer folder structure. When abstracted right, it feels much cleaner compared to the default-structure projects. ๐Ÿงน๐Ÿ˜„

I ran PHP 8.2 builds on all of my open-source packages this evening. Looks like they all have no issues after this upgrade! ๐ŸŽ‰ #PHP #Laravel

michael_backend's tweet image. I ran PHP 8.2 builds on all of my open-source packages this evening. Looks like they all have no issues after this upgrade! ๐ŸŽ‰

#PHP #Laravel

๐Ÿฆ  Introduced mutation testing into most of my open-source packages! This technique dramatically improves the quality of automated tests and helps improve the code. ๐Ÿš€ Using my packages, you have confidence they are high quality and don't contain BC breaks in minor releases.

michael_backend's tweet image. ๐Ÿฆ  Introduced mutation testing into most of my open-source packages! This technique dramatically improves the quality of automated tests and helps improve the code.

๐Ÿš€ Using my packages, you have confidence they are high quality and don't contain BC breaks in minor releases.

Type-hint interfaces instead of the concrete models in your Laravel app with Route Model Binding. All you need is to set up a container binding for your model, and use `UrlRoutable` interface from `Illuminate/Contracts/Routing`. #Laravel #PHP

michael_backend's tweet image. Type-hint interfaces instead of the concrete models in your Laravel app with Route Model Binding. All you need is to set up a container binding for your model, and use `UrlRoutable` interface from `Illuminate/Contracts/Routing`.

#Laravel #PHP

Laravel Value Objects package is now tagged as 2.0.0. Null params were dropped and basic validation of input was added. You can extend the classes and customize the validation in the way you need! For those, who don't want VO to fail, `makeOrNull` method was added. #Laravel #PHP

michael_backend's tweet image. Laravel Value Objects package is now tagged as 2.0.0. Null params were dropped and basic validation of input was added. You can extend the classes and customize the validation in the way you need! For those, who don't want VO to fail, `makeOrNull` method was added.

#Laravel #PHP

Made a new package for Laravel! This time it is a bunch of general-purpose value objects easily extendable with macros or inheritance. ๐Ÿ‘€ Give it a try: github.com/michael-rubel/โ€ฆ #Laravel #PHP

michael_backend's tweet image. Made a new package for Laravel! This time it is a bunch of general-purpose value objects easily extendable with macros or inheritance.

๐Ÿ‘€ Give it a try:
github.com/michael-rubel/โ€ฆ

#Laravel #PHP

Faking Laravel Policies in automated tests made a breeze with `method binding` and Laravel Enhanced Container package that improves DX when using this feature. #Laravel #PHP

michael_backend's tweet image. Faking Laravel Policies in automated tests made a breeze with `method binding` and Laravel Enhanced Container package that improves DX when using this feature.

#Laravel #PHP

Passed a wall of 10K contributions on GitHub. ๐Ÿ”ฅ Not sure I can go any further. ๐Ÿ˜› #github #Laravel #PHP

michael_backend's tweet image. Passed a wall of 10K contributions on GitHub. ๐Ÿ”ฅ 
Not sure I can go any further. ๐Ÿ˜›
#github #Laravel #PHP

Have you ever needed to bind many services to their interfaces in the Service Container? It can be automated easily! Working on a new version of the AutoBinder package for #Laravel ๐Ÿ› ๏ธYou can help me by reviewing a draft PR: github.com/michael-rubel/โ€ฆ

michael_backend's tweet image. Have you ever needed to bind many services to their interfaces in the Service Container? It can be automated easily! Working on a new version of the AutoBinder package for #Laravel

๐Ÿ› ๏ธYou can help me by reviewing a draft PR:
github.com/michael-rubel/โ€ฆ

Created a package with a modified Laravel Pipeline class to add support for a DB transaction, and convenient `make`, `onFailure` methods. Try it out! ๐ŸŽ‰ github.com/michael-rubel/โ€ฆ #PHP #Laravel

michael_backend's tweet image. Created a package with a modified Laravel Pipeline class to add support for a DB transaction, and convenient  `make`, `onFailure` methods.

Try it out! ๐ŸŽ‰

github.com/michael-rubel/โ€ฆ

#PHP #Laravel

Michael Rubรฉl ๐Ÿ‡บ๐Ÿ‡ฆ ๋‹˜์ด ์žฌ๊ฒŒ์‹œํ•จ

michael-rubel/livewire-best-practices: A dozen of Laravel Livewire Best Practices suggested by Michael Rubel who works with Livewire since 2019 github.com/michael-rubel/โ€ฆ

PovilasKorop's tweet image. michael-rubel/livewire-best-practices: A dozen of Laravel Livewire Best Practices suggested by Michael Rubel who works with Livewire since 2019 github.com/michael-rubel/โ€ฆ

This is a real-world example of the "method binding" feature usage to mock Stripe Charge in #Laravel #PHP

michael_backend's tweet image. This is a real-world example of the "method binding" feature usage to mock Stripe Charge in #Laravel #PHP

Did you know you can add methods to classes dynamically in #Laravel #PHP? Only you need is to add `Macroable` trait in the class you want to use macros. Some of Laravel's native classes are as well macroable.

michael_backend's tweet image. Did you know you can add methods to classes dynamically in #Laravel #PHP? Only you need is to add `Macroable` trait in the class you want to use macros. Some of Laravel's native classes are as well macroable.

Just added the banner to all of my open-source #Laravel packages! ๐Ÿ‡บ๐Ÿ‡ฆ โœŠ

์ด ํŠธ์œ—์€ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Loading...

Something went wrong.


Something went wrong.