PHP Reddit – Telegram
PHP Reddit
34 subscribers
293 photos
37 videos
24.9K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Scramble 0.12.14 – Laravel API documentation generator update: enum cases documentation, support for array request bodies, improved type inference for classes properties, and `only` and `except` Laravel Data support.
https://scramble.dedoc.co/blog/scrambledrop-scramble-01214

https://redd.it/1jghqfg
@r_php
IDE helper for PHPStan extension development

PHPStan is distributed via PHAR file, rather than pure PHP files. While this is perfectly adequate for *using* PHPStan, but it makes a pain to write its extension. Most IDEs and autocompletion tools cannot reference the code inside PHAR packages.

So I made it 😋



How to use?

composer require --dev headercat/phpstan-extension-ide-helper



How it works?

The steps below are automatically executed by GitHub Actions. It's not something you need to do.

1. Clone phpstan/phpstan-src repository to /phpstan.
2. Scan all PHP files from /phpstan.
3. Add return; after namespace declaration to all scanned files from step 2.
4. Write them to a new directory /main.
5. Find composer dependencies that starts with phpstan/ from /phpstan/composer.json.
6. Add them to /main/composer.json.
7. Done!



GitHub repository:

https://github.com/headercat/phpstan-extension-ide-helper



https://redd.it/1jgjqlo
@r_php
Have you ever started an existing laravel / blade project and then decided to bring in breeze features afterward?

Looking at breeze with it's built in 2fa and auth systems with email password change built in- If you wanted to adopt those features, would the wisest path be to create a fresh breeze project and then manually bring in my other projects controllers / db structure / blades, env variables, etc? Or is it possible to bring breeze right into an existing project?

https://redd.it/1jglzp3
@r_php
HostPapa Scam Exposed: Lies, Downtime, Hidden Fees, and Endless Upselling – Don’t Get Trapped Like I Did

Hey Reddit,

I want to warn you about something that almost cost me big: HostPapa. Like many people, I was drawn in by their “affordable” pricing and promising features, but what followed was a frustrating cycle of downtime, upselling, and endless support issues. After dealing with it firsthand and doing a lot of digging, I realized I’m not alone – thousands of other users, reviews, and even employees have spoken up about how HostPapa operates.

If you're considering HostPapa or want to know what’s really going on behind the marketing hype, here are some major red flags you should be aware of:

---

### 1. Bait-and-Switch Pricing & Hidden Fees
- Low Initial Cost, Skyrocketing Renewals: Like many low-cost hosts, HostPapa lures you in with cheap introductory offers. However, their renewal prices can triple after the first year. Many customers have felt blindsided by sudden price hikes (source, source).
- Surprise Upsells: Customers report being aggressively upsold for “necessary add-ons” that should be included in any decent hosting plan. Jason Teale’s review details how he was pressured to pay more just to maintain decent uptime (source).

---

### 2. Poor Uptime and Server Performance
- Frequent Downtime: Despite promises of 99.9% uptime, HostPapa has been criticized for frequent server crashes and long downtimes. Reviews on sites like ProductReview and WebsitePlanet frequently mention websites going offline for hours or even days without explanation (source, source).
- Slow Website Speed: Many users have reported painfully slow load times, which is bad news if you’re running a business or care about SEO.

---

### 3. Lackluster Customer Support
- Long Wait Times and Unresolved Issues: While HostPapa boasts 24/7 support, numerous customers on BBB, Sitejabber, and other platforms have shared stories of long hold times, unhelpful responses, and unresolved issues (source, source).

---

### 4. Aggressive Sales Tactics and Upselling
- Support That Prioritizes Upselling Over Solutions: Instead of helping you fix issues, HostPapa support often tries to upsell you on more expensive plans, features, and services (source).

---

### 5. A Troubling Reputation – Even Among Employees
- Glassdoor Employee Reviews: It’s not just customers who are unhappy – even former employees have called out HostPapa for their aggressive sales focus and lack of care for customer satisfaction (source).

---

### 6. A Pattern of Complaints and Warnings
- Better Business Bureau (BBB) Complaints: HostPapa has over 140 complaints on the BBB website, many of which echo the same themes: poor customer service, surprise charges, and unresolved downtime (source).
- Scamalytics Flag: HostPapa’s IP range has even been flagged on Scamalytics for high-risk activity, which isn’t exactly reassuring (source).

---

### Conclusion: Is HostPapa a Scam?
Whether or not you’d call HostPapa a scam is up to you, but based on the overwhelming pattern of negative reviews, hidden fees, poor service, and constant
upselling, it’s clear that something isn’t right. They might work fine if you’re a casual user with a small website and no big expectations – but if you’re serious about your online presence, I’d recommend looking elsewhere.

If you’ve had experiences (good or bad) with HostPapa, feel free to share them below. Let’s get the word out so others don’t fall into the same trap!

https://redd.it/1jh3dm3
@r_php
Question about Request Response (MVC)

Im attempting to build my own MVC framework, a very lightweight attempt at replicating some core features of Laravel.

Ive set my controllers up to use Request, Response and also return a Response object.

First and foremost, is this correct understanding that all controllers should return a response?

In my Router it instantiates the controller like:

$router->get('/', 'HomeController@index');, I am however having some issues with the controller not properly returning a response back to the controller. If I for example do:

HomeController.php:
index(Request, Response): Response
$request->json(); it works and returns the response back to the Router.

But if I call
index(Request, Response): Response
$this->render('home'); even though it does return a Response its a "new" response made by the DI Container on creation of the Controller.

Could I solve this by doing something like this:

Router.php:

dispatch()

// . . .

$response = Class->method(Request, Response).

$response->send();

I asked ChatGPT and it argued that not all controllers will return a response.

So perhaps a resource where I can read more about Request Response would be nice too.

Its mostly seems to work if my DI Container uses the Request and Response as singletons but I dont like having a singleton principle for those objekts, although the Router is singleton.

https://redd.it/1jhb3j0
@r_php
PHP & Symfony MMO - new item equipping feature

After a week of thinking, about the relationship between item and instance, I am ready to announce that the ability to equip items that implement the ItemEquipmentInstanceInterface is available.

In this case, the Wooden Sword, will confer +5 to physical attack while equipped, making you stronger against all mobs, including the latest implemented: Sbinsol.

Sbinsol is a water lizard, wanted and implemented by my younger brother, who got curious about the video game and wanted to develop it.In Symfony MMO creating a new mob is very easy, almost like writing a denoscriptive text. Maybe I can make a video where I illustrate it. We'll see...

Read more on my Patreon post: https://www.patreon.com/posts/124934660?utmcampaign=postsharecreator&utmcontent=androidshare


https://redd.it/1jhhnbr
@r_php
How to fix "undefined index" globally in PHP8.x?

Hello,

I have to migrate some websites that were created under PHP 5.x to PHP 8.x
Most of the time, the frontend works right away or only needs minor changes.

The administration is driving me nuts though.
First off, it was custom made 10+ years ago and not the very elegant of code to begin with. But it works fine up to PHP 7.x

With PHP8 I get tons of "undefined index" errors. This happens, because of checking variables that do not exist (are not set) yet. It never was a problem before, but PHP8 is very strict about it.

For instance:

if($_SESSION['order'] == "" AND $_GET['order'] == "")
{
$_SESSION['order'] = $default_order;
}

immediately throws an error if neither Session nor Get are set.
Please don't get mad about this very code, I know it's not good, it's just to demonstrate.

The problem is, that there are a lot of variables that CAN be set but don't have to be, depending on the actual area.

It is not feasible to start by setting each and every variable at the top, there are way to many and some of them are dynamically set too.
It is also not feasible to insert if isset() into every statement.

Sure, I can supress errors, but I'd rather fix this for good.
Is there a way to tell PHP8 to assume those variables are set but empty until I actually give them a value?





https://redd.it/1jhtm98
@r_php
Issue 55 of "A Day With Laravel" : SVG and security, Eloquent Filter, What's new in Laravel 12.2, Laravel's New JobQueueing Event and Package Laravel Feature Flag are discussed

https://preview.redd.it/4q5caexiofqe1.jpg?width=1280&format=pjpg&auto=webp&s=a244f680c461261ca7e5652685e07b271aadc372

Hello Laravel friends 👋

Today in "**A Day With Laravel**", I present the following topics :

* Security Tip: Excluding SVGs from Image Validation! *by Stephen Rees-Carter*
* Eloquent Filter package *by Mehdi Fathi*
* What's new in Laravel 12.2 *by Christoph Rumpel*
* Enhance Your Queue System with Laravel's New JobQueueing Event *by Harris Raftopoulos* 
* Package Laravel Feature Flag *by Peter Fox*

I really hope this free content brings value to you.

Let me know in comment what do you think about it.

[https://go.itanea.fr/adwl55](https://go.itanea.fr/adwl55)

See you on the next issue.



https://redd.it/1jhys0i
@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/1ji3xy4
@r_php
pdf-to-zpl: A library that encodes PDFs and Images into a printable format (image manipulation with PHP)

This may seem like a niche issue but anyone that has worked will Zebra printers will have come across it. Even if you've never ran into this issue, check out the code so you can see how to work with images and PDFs using GD and Imagick. Any suggestions / improvements are welcome!

https://github.com/benfaerber/pdf-to-zpl

Here's how the algorithm works:

1. Loads the PDF and render each page as image using Imagick
2. Scale the image to match the DPI and aspect ratio of the label
3. Convert each page into a grayscaled bitmap
4. Run line encode the bitmap and marshall it into a ZPL binary representation

#

https://redd.it/1jidac0
@r_php
Symfony vs Laravel: Contributions to the PHP Ecosystem (Visualized with Neo4j)
https://redd.it/1jied2m
@r_php
A non empty secret is required- easyadmin+symfony7.2

Hi,

I was trying my project on separate machine and this error came out. It doesnt happen in other machine.


What can go wrong?

Best regards,






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