Struggling to hire a Senior PHP Developer in the UK
Where is the best place to find (and hire) Senior PHP developer in the UK?
Could anyone please advise where you would look for such a job outside of LinkedIn?
We've used Dev specific recruiters but they're clearly not vetting their applicant and when we do post on LinkedIn we get mainly people from mainland Europe applying.
Any help would be appreciate. Thanks
Edit.
I will try come back to people individually but just to clarify. I’m not complaining, just looking for advice. I can’t post a job app on here as it’s against the rules however if anyone wants to ask for the spec, I’m more than happy to DM them a link if that’s acceptable?
https://redd.it/1k6uy6m
@r_php
Where is the best place to find (and hire) Senior PHP developer in the UK?
Could anyone please advise where you would look for such a job outside of LinkedIn?
We've used Dev specific recruiters but they're clearly not vetting their applicant and when we do post on LinkedIn we get mainly people from mainland Europe applying.
Any help would be appreciate. Thanks
Edit.
I will try come back to people individually but just to clarify. I’m not complaining, just looking for advice. I can’t post a job app on here as it’s against the rules however if anyone wants to ask for the spec, I’m more than happy to DM them a link if that’s acceptable?
https://redd.it/1k6uy6m
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
How do I level up my game ?
I’ve been working as a PHP full-stack developer (CodeIgniter & Laravel) at a small organization for three months now, building and shipping new features on the company’s two websites. Every time I get a task, I lean on AI to scaffold the solution—but I never just copy-paste. I break down every line to make sure I actually understand it.
So far, zero complaints about my code and my PRs always get merged. I might take a little extra time, but I’ve never backed down from a challenge.
Here’s the kicker: I feel seriously underpaid—my salary isn’t even $100 per month. In an ideal world, I’d be earning around $3,500–$4,000 USD per year, but that’s not happening at my current gig.
I’m based in India, where PHP devs often get paid peanuts—and I’m not ready to ditch PHP just for a fatter paycheck.
I’m planning to move on and find a place that actually values my skills. Before I start applying, I need to upskill… but with so many options out there, I’m not sure where to focus.
Any advice on what I should learn next to level up my PHP game ? What is the demanding tech stack (PHP included) ?
https://redd.it/1k711uk
@r_php
I’ve been working as a PHP full-stack developer (CodeIgniter & Laravel) at a small organization for three months now, building and shipping new features on the company’s two websites. Every time I get a task, I lean on AI to scaffold the solution—but I never just copy-paste. I break down every line to make sure I actually understand it.
So far, zero complaints about my code and my PRs always get merged. I might take a little extra time, but I’ve never backed down from a challenge.
Here’s the kicker: I feel seriously underpaid—my salary isn’t even $100 per month. In an ideal world, I’d be earning around $3,500–$4,000 USD per year, but that’s not happening at my current gig.
I’m based in India, where PHP devs often get paid peanuts—and I’m not ready to ditch PHP just for a fatter paycheck.
I’m planning to move on and find a place that actually values my skills. Before I start applying, I need to upskill… but with so many options out there, I’m not sure where to focus.
Any advice on what I should learn next to level up my PHP game ? What is the demanding tech stack (PHP included) ?
https://redd.it/1k711uk
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Laravel Package
Hey devs 👋
After years of repeating the same Artisan commands, I finally got tired of the boilerplate and decided to build something that would actually speed things up.
So I just released a package called RapidsModels (or just
php artisan rapids:model Product
It’s interactive (asks you for fields, types, relations, etc.), and it supports:
One-to-one, one-to-many, many-to-many relationships (with pivot model/migration)
Smart detection of existing models
Clean output that respects naming conventions
Seeders + factories out-of-the-box
🎯 Goal: Cut dev time and standardize model generation across projects.
🧪 It's still early-stage, but it's stable and I use it daily in my own Laravel projects.
📦 GitHub: https://github.com/Tresor-Kasenda/rapids
💬 I'd love feedback, ideas, feature requests, PRs, or bug reports!
Thanks for reading, and I hope it helps someone out there 😄
https://redd.it/1k6zupx
@r_php
Hey devs 👋
After years of repeating the same Artisan commands, I finally got tired of the boilerplate and decided to build something that would actually speed things up.
So I just released a package called RapidsModels (or just
rapids) – it’s designed to generate your models + migrations + seeders + factories + relationships in one single command:php artisan rapids:model Product
It’s interactive (asks you for fields, types, relations, etc.), and it supports:
One-to-one, one-to-many, many-to-many relationships (with pivot model/migration)
Smart detection of existing models
Clean output that respects naming conventions
Seeders + factories out-of-the-box
🎯 Goal: Cut dev time and standardize model generation across projects.
🧪 It's still early-stage, but it's stable and I use it daily in my own Laravel projects.
📦 GitHub: https://github.com/Tresor-Kasenda/rapids
💬 I'd love feedback, ideas, feature requests, PRs, or bug reports!
Thanks for reading, and I hope it helps someone out there 😄
https://redd.it/1k6zupx
@r_php
GitHub
GitHub - Tresor-Kasenda/rapids
Contribute to Tresor-Kasenda/rapids development by creating an account on GitHub.
Introducing A Streaming AMQP Transport for Symfony Messenger
https://symfony.com/blog/introducing-a-streaming-amqp-transport-for-symfony-messenger?utm_source=Symfony%20Blog%20Feed&utm_medium=feed
https://redd.it/1k7fiak
@r_php
https://symfony.com/blog/introducing-a-streaming-amqp-transport-for-symfony-messenger?utm_source=Symfony%20Blog%20Feed&utm_medium=feed
https://redd.it/1k7fiak
@r_php
Symfony
Introducing A Streaming AMQP Transport for Symfony Messenger (Symfony Blog)
Symfony Messenger now supports a streaming AMQP transport: no C extension, lower latency, and a drop-in replacement for AMQP Messenger.
What’s your go-to workflow when building a new web app from scratch?
There are so many ways to build apps these days — no-code, low-code, AI copilots, boilerplates, full custom builds. I'm curious: what’s your current process when starting a new web app?
Do you go straight into writing code? Use templates or starter kits? Lean on AI tools (in your IDE or browser)? Or do you start with a low/no-code tool to validate first?
Also curious how much you mix things up—like prototyping fast with no-code, then switching to a custom stack later.
What makes you feel the most productive right now?
Would love to hear how others are doing it in 2025.
https://redd.it/1k7f3hz
@r_php
There are so many ways to build apps these days — no-code, low-code, AI copilots, boilerplates, full custom builds. I'm curious: what’s your current process when starting a new web app?
Do you go straight into writing code? Use templates or starter kits? Lean on AI tools (in your IDE or browser)? Or do you start with a low/no-code tool to validate first?
Also curious how much you mix things up—like prototyping fast with no-code, then switching to a custom stack later.
What makes you feel the most productive right now?
Would love to hear how others are doing it in 2025.
https://redd.it/1k7f3hz
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Learning PHP the right way?
Hello there I hope you're doing fine, so when I started to learn PHP I started watching Gio Channel in YouTube and I stopped when he started explaining classes.
From then I jumped into learning laravel I didn't took any courses something I just like followed a refollowed and refollowed the documentation , I look up whatever I need to look up not that proficient in laravel as well I mean I'm okay I'm good I can do what I think but not in a proficient level but more like on a amateur level.
Find out I want to master the craft of software development I see myself more dependent on llms rather than actually learning and I feel that it starts to slip, the coding skills starts to sleep again and I want to do it right this time I know a little bit of JavaScript and PHP I'm familiar mostly with frontend frameworks like vue, solid I'm starting to learn svelte as well.
I wanna learn PHP the right way like the concepts of the programming languages+ the concepts of backend development stuff.
https://redd.it/1k7ltao
@r_php
Hello there I hope you're doing fine, so when I started to learn PHP I started watching Gio Channel in YouTube and I stopped when he started explaining classes.
From then I jumped into learning laravel I didn't took any courses something I just like followed a refollowed and refollowed the documentation , I look up whatever I need to look up not that proficient in laravel as well I mean I'm okay I'm good I can do what I think but not in a proficient level but more like on a amateur level.
Find out I want to master the craft of software development I see myself more dependent on llms rather than actually learning and I feel that it starts to slip, the coding skills starts to sleep again and I want to do it right this time I know a little bit of JavaScript and PHP I'm familiar mostly with frontend frameworks like vue, solid I'm starting to learn svelte as well.
I wanna learn PHP the right way like the concepts of the programming languages+ the concepts of backend development stuff.
https://redd.it/1k7ltao
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
SymfonyOnline June 2025: How Doctrine Events Ruined My Day(s)
https://symfony.com/blog/symfonyonline-june-2025-how-doctrine-events-ruined-my-day-s?utm_source=Symfony%20Blog%20Feed&utm_medium=feed
https://redd.it/1k7lnfq
@r_php
https://symfony.com/blog/symfonyonline-june-2025-how-doctrine-events-ruined-my-day-s?utm_source=Symfony%20Blog%20Feed&utm_medium=feed
https://redd.it/1k7lnfq
@r_php
Symfony
SymfonyOnline June 2025: How Doctrine Events Ruined My Day(s) (Symfony Blog)
🔧Fix one bug, find two more? Joppe De Cuyper knows that feeling all too well. 🎤 How Doctrine Events Ruined My Day(s) — real dev lessons from real-life chaos at #SymfonyOnline June 2025
Hey Laravel devs — how do you handle client requests for Elementor-style page builders in a custom CMS?
I intend to build a CMS in Laravel with custom SCSS/CSS. Many of the pages have **unique layouts** and **specific styles** per page, so implementing a generic drag-and-drop page builder like Elementor or Divi just doesn't make sense to me — it would be technically messy, overly complex, and go against the custom design system.
However, I still get client requests or suggestions for “page builder”-like functionality where they can drag and arrange sections, control layout, or build entire pages themselves.
Have you faced this dilemma? How did you handle it?
* Did you build a custom section/block-based system?
* Use any packages (like Filament, Nova, Livewire, etc.)?
* Or did you just draw a hard line and explain why it’s not feasible?
Looking for insights or real-world solutions from folks who’ve built structured CMS platforms with Laravel. Appreciate any thoughts or war stories!
https://redd.it/1k7lqy5
@r_php
I intend to build a CMS in Laravel with custom SCSS/CSS. Many of the pages have **unique layouts** and **specific styles** per page, so implementing a generic drag-and-drop page builder like Elementor or Divi just doesn't make sense to me — it would be technically messy, overly complex, and go against the custom design system.
However, I still get client requests or suggestions for “page builder”-like functionality where they can drag and arrange sections, control layout, or build entire pages themselves.
Have you faced this dilemma? How did you handle it?
* Did you build a custom section/block-based system?
* Use any packages (like Filament, Nova, Livewire, etc.)?
* Or did you just draw a hard line and explain why it’s not feasible?
Looking for insights or real-world solutions from folks who’ve built structured CMS platforms with Laravel. Appreciate any thoughts or war stories!
https://redd.it/1k7lqy5
@r_php
Reddit
From the laravel community on Reddit
Explore this post and more from the laravel community
Looking for PHP 8 equivalent of xref-lint
Can anyone recommend a linter for php 8 that works locally from the Linux command line? I'd come to depend on xref-lint for its features beyond "php -l", but it doesn't work on php 8. Thanks.
https://redd.it/1k7ogxl
@r_php
Can anyone recommend a linter for php 8 that works locally from the Linux command line? I'd come to depend on xref-lint for its features beyond "php -l", but it doesn't work on php 8. Thanks.
https://redd.it/1k7ogxl
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Me and PHP in a first love affair
I have always studied economic utopias, I have always imagined what it would be like to live in economies that solved the basic problems of human beings. I served as a volunteer in several areas, I learned a lot in each one and continue to learn, I studied philosophy, psychoanalysis, art, insect life... I came to a conclusion. The only way to accomplish something that benefits and builds a sustainable, self-sufficient and livable reality, within an inefficient and corrupt system like ours, would be volunteering. People who do what they do without looking at who they are without expecting anything in return other than the result of their actions and believe me, these people exist and there are many of them. On my Instagram Moveant.Brasil I found many people like this. And then, I encountered a problem... managing these volunteers efficiently and why not take advantage of and experience an economy based on time and not capital, without combating or excluding capitalism, just living parallel to it. But how to do this? I'm terrible at programming! I have difficulty learning, but… But we are in 2025 and as vintage as it is, I built a first prototype using AI, PHP and Hostinger…. And of course, it wasn't even close to what I imagined, but the logistics are beautiful and it moves me how it's possible to do things with so little, and damn, if I continue like this, I'm sure we'll build something incredible.
https://redd.it/1k80yy2
@r_php
I have always studied economic utopias, I have always imagined what it would be like to live in economies that solved the basic problems of human beings. I served as a volunteer in several areas, I learned a lot in each one and continue to learn, I studied philosophy, psychoanalysis, art, insect life... I came to a conclusion. The only way to accomplish something that benefits and builds a sustainable, self-sufficient and livable reality, within an inefficient and corrupt system like ours, would be volunteering. People who do what they do without looking at who they are without expecting anything in return other than the result of their actions and believe me, these people exist and there are many of them. On my Instagram Moveant.Brasil I found many people like this. And then, I encountered a problem... managing these volunteers efficiently and why not take advantage of and experience an economy based on time and not capital, without combating or excluding capitalism, just living parallel to it. But how to do this? I'm terrible at programming! I have difficulty learning, but… But we are in 2025 and as vintage as it is, I built a first prototype using AI, PHP and Hostinger…. And of course, it wasn't even close to what I imagined, but the logistics are beautiful and it moves me how it's possible to do things with so little, and damn, if I continue like this, I'm sure we'll build something incredible.
https://redd.it/1k80yy2
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Next Steps in Tech: How Can I Break Into a $100K+ Career?
I have college degrees and about 1.5 years of experience working with CakePHP. Lately, I’ve been feeling like I’m not making the progress I want by sticking solely with this path. I’m ready to explore something new — ideally aiming for a salary around $100K per year. I’m open (and committed) to unlearning old habits and learning new skills if needed.
Given that I’m based in Canada, what career paths or technologies would you recommend I explore?
https://redd.it/1k852dg
@r_php
I have college degrees and about 1.5 years of experience working with CakePHP. Lately, I’ve been feeling like I’m not making the progress I want by sticking solely with this path. I’m ready to explore something new — ideally aiming for a salary around $100K per year. I’m open (and committed) to unlearning old habits and learning new skills if needed.
Given that I’m based in Canada, what career paths or technologies would you recommend I explore?
https://redd.it/1k852dg
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
PHP audio song
https://audio.com/kewin-brandsma/audio/1-b-online-audio-convertercom-7-9-2-2
https://redd.it/1k86v10
@r_php
https://audio.com/kewin-brandsma/audio/1-b-online-audio-convertercom-7-9-2-2
https://redd.it/1k86v10
@r_php
Audio
Download 1-b (online-audio-converter.com) (7) (9) (2) (2) by kewin brandsma | Listen MP3 & WAV for FREE on audio.com
Download and stream 1-b (online-audio-converter.com) (7) (9) (2) (2) by kewin brandsma for free on audio.com. High-quality audio available for both streaming and download. Listen now.
should i learn php or javanoscript after learning html and css?
I think I only have around 6 months left to learn web development before our Capstone 1 project. I used to study coding on and off, but I only reached the basics of JavaScript. I eventually lost motivation and stopped learning, so I forgot everything and had to start from scratch. Should I study PHP right after HTML and CSS so I can get an idea of backend development and build a functional system? I'm also thinking about hosting when the time comes for our capstone — it might be expensive if we use a backend language that isn’t well-supported. I also noticed that the roadmaps involving JavaScript and React would take much longer to learn, and they don't focus much on the backend. Maybe you have some suggestions. Thank you in advance.
https://redd.it/1k88o0k
@r_php
I think I only have around 6 months left to learn web development before our Capstone 1 project. I used to study coding on and off, but I only reached the basics of JavaScript. I eventually lost motivation and stopped learning, so I forgot everything and had to start from scratch. Should I study PHP right after HTML and CSS so I can get an idea of backend development and build a functional system? I'm also thinking about hosting when the time comes for our capstone — it might be expensive if we use a backend language that isn’t well-supported. I also noticed that the roadmaps involving JavaScript and React would take much longer to learn, and they don't focus much on the backend. Maybe you have some suggestions. Thank you in advance.
https://redd.it/1k88o0k
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Sylius framework for non e-commerce projects - bad idea?
Currently I'm trying to decide which frameworks to choose for my freelance projects. I need an e-commerce one and a regular one for just simple appointment system type of pages. For an e-commerce I will try the Sylius framework, it looks pretty decent and fulfils all my needs.
Now for the regular pages - I can't decide between OctoberCMS and a few others, but I wonder why not use the same one - Sylius. Just without all the e-commerce features it has to offer.
Has anyone tried it? I wonder if it makes sense and if there is any drawbacks if I decide to use it this way. From the first look it's pretty neat with all the user management features, nice looking admin panel, API etc. Also I love Symfony. It looks like a pretty decent framework to work on even when I don't need to build an e-commerce.
Of course I would need to disable all the e-commerce packages, so my question is - can I do it cleanly? Does it perform well?
https://redd.it/1k8dp90
@r_php
Currently I'm trying to decide which frameworks to choose for my freelance projects. I need an e-commerce one and a regular one for just simple appointment system type of pages. For an e-commerce I will try the Sylius framework, it looks pretty decent and fulfils all my needs.
Now for the regular pages - I can't decide between OctoberCMS and a few others, but I wonder why not use the same one - Sylius. Just without all the e-commerce features it has to offer.
Has anyone tried it? I wonder if it makes sense and if there is any drawbacks if I decide to use it this way. From the first look it's pretty neat with all the user management features, nice looking admin panel, API etc. Also I love Symfony. It looks like a pretty decent framework to work on even when I don't need to build an e-commerce.
Of course I would need to disable all the e-commerce packages, so my question is - can I do it cleanly? Does it perform well?
https://redd.it/1k8dp90
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Finally Dockerized my Laravel based application with a minimal setup.
Hello All,
Quite often while sharing my githu repo for the Laravel based application I have been working on, I got asked if I could provide Dockerfile for the application.
So, by following tutorials and other resources online I have made Dockerfile and docker-compose.yml file so that it can easily be run inside docker.
I tried to follow official Docker page for Laravel setup, but the Dockerfile and docker-compose.yml files were too complicated. I just wanted a minimal setup, so that anyone with Docker could install the app easily and get a feel of it.
https://github.com/oitcode/samarium
It is a minimal setup with Apache server and MySql database. Docker installation instructions are in the README of github repo. Would appreciate if anyone looked into it and provided feedbacks.
I am planning to improve the docker setup, but for now, relieved that a minimal setup is working. There was many good things to learn while containerizing/dockerizing the app. That itself was a good experience. Hoping to improve further on this in future.
Thanks all.
https://redd.it/1k8eszh
@r_php
Hello All,
Quite often while sharing my githu repo for the Laravel based application I have been working on, I got asked if I could provide Dockerfile for the application.
So, by following tutorials and other resources online I have made Dockerfile and docker-compose.yml file so that it can easily be run inside docker.
I tried to follow official Docker page for Laravel setup, but the Dockerfile and docker-compose.yml files were too complicated. I just wanted a minimal setup, so that anyone with Docker could install the app easily and get a feel of it.
https://github.com/oitcode/samarium
It is a minimal setup with Apache server and MySql database. Docker installation instructions are in the README of github repo. Would appreciate if anyone looked into it and provided feedbacks.
I am planning to improve the docker setup, but for now, relieved that a minimal setup is working. There was many good things to learn while containerizing/dockerizing the app. That itself was a good experience. Hoping to improve further on this in future.
Thanks all.
https://redd.it/1k8eszh
@r_php
GitHub
GitHub - shyamsitaula/samarium: Open-source business management system with ERP, POS, invoicing, and CMS features. Laravel-based…
Open-source business management system with ERP, POS, invoicing, and CMS features. Laravel-based, Docker-ready. Still in active development. - shyamsitaula/samarium
I’m a self taught PHP hobbyist turned dev and I released my first open source project that you can install on composer! Just wanted to share.
https://github.com/thingmabobby/IMAPEmailChecker
https://redd.it/1k8fsw4
@r_php
https://github.com/thingmabobby/IMAPEmailChecker
https://redd.it/1k8fsw4
@r_php
GitHub
GitHub - thingmabobby/IMAPEmailChecker: A PHP class to fetch and process emails from an IMAP mailbox.
A PHP class to fetch and process emails from an IMAP mailbox. - thingmabobby/IMAPEmailChecker
My new installable PHP Sandbox
Hello,
I have created a PHP Sandbox with NativePHP that I would like to share with everyone. It uses Electron to wrap the whole app and make it executable from your OS.
It is called PHP Dune, and it is available as Open Source in GitHub, or you can download the package for Windows, Mac and Linux.
This is the website: https://phpdune.salmonjump.com/
And this is the link to the repo: https://github.com/pabloFdz/PHPDune
I hope you find it useful!
https://redd.it/1k8gvha
@r_php
Hello,
I have created a PHP Sandbox with NativePHP that I would like to share with everyone. It uses Electron to wrap the whole app and make it executable from your OS.
It is called PHP Dune, and it is available as Open Source in GitHub, or you can download the package for Windows, Mac and Linux.
This is the website: https://phpdune.salmonjump.com/
And this is the link to the repo: https://github.com/pabloFdz/PHPDune
I hope you find it useful!
https://redd.it/1k8gvha
@r_php
Salmonjump
PHP Dune
A standalone serverless sandbox
Questioning about PasswordStrength Constraint
I would like to use the Constraint PasswordStrength to validate that the user passwords are strong enough. Ideally I would like to not create my custom PasswordStrengthValidator, but I also would like to return custom messages to help user to create a correct password if their are not strong enough (e.g tell them that the password needs uppercase, lowercase, special chars, and a given length).
But regarding the PasswordStrengthValidator I can't really understand what are the rules behind each levels
Here is the method that validate the strength in symfony/validator
public static function estimateStrength(#\SensitiveParameter string $password): int
{
if (!$length = \strlen($password)) {
return PasswordStrength::STRENGTHVERYWEAK;
}
$password = countchars($password, 1);
$chars = \count($password);
$control = $digit = $upper = $lower = $symbol = $other = 0;
foreach ($password as $chr => $count) {
match (true) {
$chr < 32 || 127 === $chr => $control = 33,
48 <= $chr && $chr <= 57 => $digit = 10,
65 <= $chr && $chr <= 90 => $upper = 26,
97 <= $chr && $chr <= 122 => $lower = 26,
128 <= $chr => $other = 128,
default => $symbol = 33,
};
}
$pool = $lower + $upper + $digit + $symbol + $control + $other;
$entropy = $chars * log($pool, 2) + ($length - $chars) * log($chars, 2);
return match (true) {
$entropy >= 120 => PasswordStrength::STRENGTHVERYSTRONG,
$entropy >= 100 => PasswordStrength::STRENGTHSTRONG,
$entropy >= 80 => PasswordStrength::STRENGTHMEDIUM,
$entropy >= 60 => PasswordStrength::STRENGTHWEAK,
default => PasswordStrength::STRENGTHVERYWEAK,
};
}
public static function estimateStrength(#\SensitiveParameter string $password): int
{
if (!$length = \strlen($password)) {
return PasswordStrength::STRENGTHVERYWEAK;
}
$password = countchars($password, 1);
$chars = \count($password);
$control = $digit = $upper = $lower = $symbol = $other = 0;
foreach ($password as $chr => $count) {
match (true) {
$chr < 32 || 127 === $chr => $control = 33,
48 <= $chr && $chr <= 57 => $digit = 10,
65 <= $chr && $chr <= 90 => $upper = 26,
97 <= $chr && $chr <= 122 => $lower = 26,
128 <= $chr => $other = 128,
default => $symbol = 33,
};
}
$pool = $lower + $upper + $digit + $symbol + $control + $other;
$entropy = $chars * log($pool, 2) + ($length - $chars) * log($chars, 2);
return match (true) {
$entropy >= 120 => PasswordStrength::STRENGTHVERYSTRONG,
$entropy >= 100 => PasswordStrength::STRENGTHSTRONG,
$entropy >= 80 => PasswordStrength::STRENGTHMEDIUM,
$entropy >= 60 => PasswordStrength::STRENGTHWEAK,
default => PasswordStrength::STRENGTHVERYWEAK,
};
}
So imagining I would like to use PasswordStrength Constraint with STRENGTH_MEDIUM what should be the prerequisite of a correct password ?
https://redd.it/1k8mzcf
@r_php
I would like to use the Constraint PasswordStrength to validate that the user passwords are strong enough. Ideally I would like to not create my custom PasswordStrengthValidator, but I also would like to return custom messages to help user to create a correct password if their are not strong enough (e.g tell them that the password needs uppercase, lowercase, special chars, and a given length).
But regarding the PasswordStrengthValidator I can't really understand what are the rules behind each levels
Here is the method that validate the strength in symfony/validator
public static function estimateStrength(#\SensitiveParameter string $password): int
{
if (!$length = \strlen($password)) {
return PasswordStrength::STRENGTHVERYWEAK;
}
$password = countchars($password, 1);
$chars = \count($password);
$control = $digit = $upper = $lower = $symbol = $other = 0;
foreach ($password as $chr => $count) {
match (true) {
$chr < 32 || 127 === $chr => $control = 33,
48 <= $chr && $chr <= 57 => $digit = 10,
65 <= $chr && $chr <= 90 => $upper = 26,
97 <= $chr && $chr <= 122 => $lower = 26,
128 <= $chr => $other = 128,
default => $symbol = 33,
};
}
$pool = $lower + $upper + $digit + $symbol + $control + $other;
$entropy = $chars * log($pool, 2) + ($length - $chars) * log($chars, 2);
return match (true) {
$entropy >= 120 => PasswordStrength::STRENGTHVERYSTRONG,
$entropy >= 100 => PasswordStrength::STRENGTHSTRONG,
$entropy >= 80 => PasswordStrength::STRENGTHMEDIUM,
$entropy >= 60 => PasswordStrength::STRENGTHWEAK,
default => PasswordStrength::STRENGTHVERYWEAK,
};
}
public static function estimateStrength(#\SensitiveParameter string $password): int
{
if (!$length = \strlen($password)) {
return PasswordStrength::STRENGTHVERYWEAK;
}
$password = countchars($password, 1);
$chars = \count($password);
$control = $digit = $upper = $lower = $symbol = $other = 0;
foreach ($password as $chr => $count) {
match (true) {
$chr < 32 || 127 === $chr => $control = 33,
48 <= $chr && $chr <= 57 => $digit = 10,
65 <= $chr && $chr <= 90 => $upper = 26,
97 <= $chr && $chr <= 122 => $lower = 26,
128 <= $chr => $other = 128,
default => $symbol = 33,
};
}
$pool = $lower + $upper + $digit + $symbol + $control + $other;
$entropy = $chars * log($pool, 2) + ($length - $chars) * log($chars, 2);
return match (true) {
$entropy >= 120 => PasswordStrength::STRENGTHVERYSTRONG,
$entropy >= 100 => PasswordStrength::STRENGTHSTRONG,
$entropy >= 80 => PasswordStrength::STRENGTHMEDIUM,
$entropy >= 60 => PasswordStrength::STRENGTHWEAK,
default => PasswordStrength::STRENGTHVERYWEAK,
};
}
So imagining I would like to use PasswordStrength Constraint with STRENGTH_MEDIUM what should be the prerequisite of a correct password ?
https://redd.it/1k8mzcf
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
Requesting feedback on my SQL querybuilder
Throughout the years, i've developed a framework i use for personal (sometimes professional) projects. It suits most of my needs for a back-end/microservice framework, but i've grown particulairly fond of my querybuilder/ORM.
Here is the public repo: https://github.com/Sentience-Framework/sentience-v2/
For a quick look at some examples: https://github.com/Sentience-Framework/sentience-v2/blob/main/src/controllers/ExampleController.php
Database documentation: https://github.com/Sentience-Framework/sentience-v2/blob/main/documentation/documents/database.md
The feedback i'm mostly interested in, is which features you'd like to see added to the querybuilder. Security / performance / coding principle conceirns are always welcome ofcourse :)
https://redd.it/1k8ojj0
@r_php
Throughout the years, i've developed a framework i use for personal (sometimes professional) projects. It suits most of my needs for a back-end/microservice framework, but i've grown particulairly fond of my querybuilder/ORM.
Here is the public repo: https://github.com/Sentience-Framework/sentience-v2/
For a quick look at some examples: https://github.com/Sentience-Framework/sentience-v2/blob/main/src/controllers/ExampleController.php
Database documentation: https://github.com/Sentience-Framework/sentience-v2/blob/main/documentation/documents/database.md
The feedback i'm mostly interested in, is which features you'd like to see added to the querybuilder. Security / performance / coding principle conceirns are always welcome ofcourse :)
https://redd.it/1k8ojj0
@r_php
GitHub
GitHub - Sentience-Framework/sentience-v2: Sentience version 2 (2025)
Sentience version 2 (2025). Contribute to Sentience-Framework/sentience-v2 development by creating an account on GitHub.