PHP Reddit – Telegram
PHP Reddit
34 subscribers
289 photos
37 videos
24.8K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Best strategies to distribute a PHP app in a container

There are many tutorials out there about building dev envs for PHP applications with Docker, or deploying them to container-based platforms.

But when it comes to distributing a containerized PHP application, the available information is rather scarce.

So I'm asking here.

Let say for example we need to distribute a Laravel or Symfony application as a Docker container. The user then need to download the container, run Composer and other install noscripts, provide some config options for the .env file, and some config files, before he can run the application.

How to do that easily? Passing options to the Docker cli or in Docker Compose might not be sufficient, since some config files might need for example to be populated with arrays of options.

https://redd.it/1mq53si
@r_php
ConvertEmptyStringsToNull is garbage magic and I feel crazy

Guess I'm late to the party but while clearing out some legacy junk from a Laravel app I've just today realized that.... Laravel includes ConvertEmptyStringsToNull middleware globally by default. That's insane. Have we learned nothing from the great magic_quotes_gpc debacle of the early 2000's? Magic is bad, mkay? You might find it handy but it comes back to bite you in the butt, mkay?

I get it, you want to send your empty form inputs directly to your nullable database columns as easily as possible. Cool. What happens when you're using a POST value for literally anything else? What happens when you actually have a logical use case for empty-string versus null?

"Bro, just disable it for the attributes you want." NO. I got a better idea. Turn that shit OFF by default and ENABLE it where null is important. Don't ASSUME everyone wants the same magic. It's a bad idea. Yes, I know I can disable it completely, and I've done that. So I'm fine, just disappointed that it's on by default. It makes Laravel look dumb and it teaches bad habits. Arrrrgh!

Thank you for coming to my ~~Ted~~ Laracon Talk.

https://redd.it/1mqejhp
@r_php
Simple, fully customizable CMS for single-page site

I’m creating a single-page site, and I’m looking for a simple, free and open-source CMS that is fully customizable. Editing the page should be easy and intuitive for a non-technical person (the site owner). It should be based on PHP (no Node.js or database) and be runnable on XAMPP. If possible, I want to use my existing HTML/CSS/JavaScript code (including media queries and the carousel library). Any recommendations?

https://redd.it/1mqe0nr
@r_php
🎉 r/Laravel just hit 100,000 members!

From small snippets to deep architecture discussions, this community has grown into one of the best places to share packages, give feedback, and push Laravel further.

Some stats for the past 12 months:

- 1.3K Posts

- 27.6K Comments

- 7.5m Visits

Thanks to everyone who asks thoughtful questions, shares knowledge, and helps keep things welcoming. Here’s to the next 100k.

https://redd.it/1mqiyjs
@r_php
I made a 30fps CLI Tetris game in PHP after watching the Tetris movie

So I watched the "Tetris" movie and it was amazing!

I got itchy to build the tetris game in php and see how fast we it can turn out and specially the line clearning and the algos used, how can this be better? I am not a fluent PHP developer I used PHP mainly from high-school and recently been building apps using Laravel for clients (I am a experienced dev though)

LINK: https://gist.github.com/al3rez/e43f4bc86e50a79fca14529d4f2f2b8c

So feel free to roast it.

https://redd.it/1mqrr4z
@r_php
A Partial Function Application Library for Pipes

I've been playing with pipes for a bit now, and so I wanted to share a small library that allows you to perform partial function application over arbitrary closures:

// create a partial application compatible closure
$strreplace = p(strreplace(...));
// create a partial application using a bare underscore to annotate missing arguments
$dashreplace = $strreplace('-', , );
// and create another one based on the previous one
$snakecase = p($dashreplace)('', );

echo 'snake-case' |> strtolower(...) |> $snakecase(...);
// output: snake
case


repository: withinboredom/pfa: A partial function application library


The code itself is rather simple and licensed MIT. I'm excited to see variations in the wild and how this will grow until we get real partial applications.

https://redd.it/1mqsy4s
@r_php
REST API with Laravel 12

Hi!

I'm not new to PHP, I've been doing stuff with it on and off since PHP v3, it's not my favorite platform, but I know the rule of using the best(and often the simplest) tool for a specific task/job at hand. I'm not new to Laravel either, having done stuff with it when the scenario called for something like it, or the client demanded the usage of it, which brings me here, by the way.

I'm supposed to develop this REST service for this client who demands the usage of PHP and Laravel. I've used Laravel before, however, with a template engine, rendering pages; Needless to say, I wont be needing this feature here, there will be only REST endpoints and serialized data(as JSON), coming in and out.

Is there a specific set of flags one can pass to composer.phar or whatever that will bring me only what I need and leave out stuff like Blade, while creating an empty new project?

Also, is there somewhere in Laravel where I must/can inform it that this project is only a REST API, in order to it to behave better as such(be JSON-centric in dealing with error messages, validations and so on)?

Thank you so much for your time!

https://redd.it/1mqussm
@r_php
Any Symfony experts?

Have recently joined a Symfony project that is about 5 years old.

I’m finding it incredibility difficult to trace through the code.

For example we have an Entity that has about 900 lines before the constructor with lots of different attributes.

Most notably API routes being defined here. These entities are being used to handle the entity, validation, permissions and APIs.

There are no controllers in the whole project.

I know Symfony supports all these features, but the project has saw more staff leave than stay. From what I can see the original guys hired who wrote this code at the only ones who have sticked around.

So far seems a great company and a great salary. I can only thing that people are struggling with the source code and don’t hang around.

It is so difficult to follow the flow of the code and it’s taking me quite a while to complete simply tasks. Mainly because a lot of the time it’s goes into a Symfony black hole.

Is this normal for a Symfony project?

https://redd.it/1mr54vv
@r_php
Symfony REST API Boilerplate

I've created Symfony REST API Boilerplate:

https://github.com/prugala/symfony-api-boilerplate

Features:

Symfony 7.3/PHP 8.4/Docker configuration (https://github.com/dunglas/symfony-docker)
JWT
Rate limiter with Attribute
CORS
Password reset
Swagger
Custom and simple response objects
Attribute to document success endpoint

TODO:

Versioning
Health check
Emails
Fixtures
2FA
Cache

I created it because I couldn't really find an up-to-date boilerplate on GitHub that fit my needs. Also, I'm personally not a big fan of API Platform, so I decided to build something simple, clean, and extendable instead. :)

If you have a moment, I'd really appreciate any feedback, ideas, or contributions.

Thanks!

https://redd.it/1ms044j
@r_php
Symfony REST API Boilerplate

I've created Symfony REST API Boilerplate:

https://github.com/prugala/symfony-api-boilerplate

Features:

Symfony 7.3/PHP 8.4/Docker configuration (https://github.com/dunglas/symfony-docker)
JWT
Rate limiter with Attribute
CORS
Password reset
Swagger
Custom and simple response objects
Attribute to document success endpoint

TODO:

Versioning
Health check
Emails
Fixtures
2FA
Cache

I created it because I couldn't really find an up-to-date boilerplate on GitHub that fit my needs. Also, I'm personally not a big fan of API Platform, so I decided to build something simple, clean, and extendable instead. :)

If you have a moment, I'd really appreciate any feedback, ideas, or contributions.

Thanks!

https://redd.it/1ms03cw
@r_php
Forge / Envoyer "Ask AI" in docs

Hi,

This "AI" search feature is something I would like to have too in my SaaS and just saw that Laravel Team added it in the Forge/Envoyer documentation.

Anyone knows what are the infrastructure and software used to accomplish this?

https://preview.redd.it/iz989qij7ijf1.png?width=1261&format=png&auto=webp&s=4d700723ff7f646b1abd4b2b6e6a9d3d6c183060



https://redd.it/1msh2ix
@r_php
DDD or modular in Laravel + filamentphp

Has anyone implemented DDD or a modular structure in a Laravel and filamentphp project?

Any examples or tutorials?

I've searched but can't find anything that includes filamentphp.

https://redd.it/1msrpk7
@r_php
Weekly /r/Laravel Help Thread

Ask your Laravel help questions here. To improve your chances of getting an answer from the community, here are some tips:

What steps have you taken so far?
What have you tried from the documentation?
Did you provide any error messages you are getting?
Are you able to provide instructions to replicate the issue?
Did you provide a code example?
Please don't post a screenshot of your code. Use the code block in the Reddit text editor and ensure it's formatted correctly.

For more immediate support, you can ask in the official Laravel Discord.

Thanks and welcome to the r/Laravel community!

https://redd.it/1msw8u4
@r_php