PHP

sarah,
@sarah@phpc.social avatar

Are you a PHP developer looking for a job? Make sure you check out my project, https://phpforhire.com which is in beta, and will allow you to post a profile of yourself that will be searchable online.

array,
@array@fosstodon.org avatar

My first was 8.0, still in school, and I confess that I began learning it with the prejudice of it being a junky, terrible language everybody was making fun of. Fast forward ~1 year later, after finishing my internship, where I used full stack mainly, and having discovered that not only it wasn't that bad, but really a pleasure to work with. Not perfect, but perfectly suitable for its use cases and, what's perfect anyway? So reading this has been a joy. :D https://developerjoy.co/blog/php-doesnt-suck-anymore

ntha,
@ntha@mastodon.social avatar

@array @hydrian @blu256 Do you assign data to Dto/Model classes (for better editor integration) or just keep it as a HashMap of some kind? In PHP I've been lazy and just keep everything as an array, even though for type support casting to a Model class would be better.

array,
@array@fosstodon.org avatar

@ntha @hydrian @blu256 No, my models declare the attributes (mapped to the database ones), with constructors and getters/setters. That way I can pass the model objects through, for example, factories and interfaces (I use generics) up to the views. In this I was clearly "inspired" by the way say Laravel implements the MVC model. I'm just a noob so take this with a grain of salt, I'm probably doing more than one thing wrong or at least, not the best way possible. ;)

oliver,
@oliver@phpc.social avatar

If you were about to start a medium-sized project, what would you choose as an , and why? It should be something stable and well maintained. If the business takes off, then there should be no need to replace that layer.

Caveat: imagine that Doctrine and Eloquent haven't been invented yet.

oliver,
@oliver@phpc.social avatar

@zimzat yeah, on the surface level things seem to be attractive, but as you go further and deeper, facepalms emerge. Some dbal & a custom data mapper will probably be the start.

I use Doctrine on my day-to-day work, and have used Eloquent before. Eloquent I liked up to some point, but can't say that for Doctrine. I wish I had more time to build something like Eloquent but with less magic and bloat (simple to use but not trying to do everything imaginable)

thgs,
@thgs@phpc.social avatar

@oliver I mean.. the way you put it, the data mapper is only convenience probably. I think valinor supports stuff like nested levels that ocramius/GeneratedHydrator doesn't for example. Not sure 100% for either.

Personally, I would not consider writing my own data mapper, just for the sake of not losing time with the project.

Recently, I favour the notion of "first version is probably throw-away code" and just try to make it work. It all depends on what level you design things, I guess..

ramsey,
@ramsey@phpc.social avatar

How does one use PHPUnit 10 or 11 with Symfony 7? The PHPUnit Bridge includes instructions that will only work for PHPUnit 9.

https://symfony.com/doc/current/components/phpunit_bridge.html

cpereira,
@cpereira@framapiaf.org avatar
ramsey,
@ramsey@phpc.social avatar

@cpereira That says they’ll probably jump directly to PHPUnit 11 and skip 10, which is fine with me.

nyamsprod,
@nyamsprod@phpc.social avatar

Coming soon in the next minor release of League\Csv 😍
still ironing the feature that you can already test on the master branch. give it a try
https://csv.thephpleague.com/9.0/reader/statement/#where-clauses

nyamsprod,
@nyamsprod@phpc.social avatar

@derflocki there are a couple reasons why I do not use SQLite. First the package needs no dependencies, two, the feature was already present in the package like 7 years ago I only updated the UX around it and last but not least I seldom encounter CSV that adheres fully to the draft/informal RDC. Hence using the SQLite extension would not solve CSV parsing in real world IMHO.

derflocki,
@derflocki@phpc.social avatar

@nyamsprod Thanks for the explanation!

eliashaeussler, German
@eliashaeussler@phpc.social avatar

I just released new versions for EXT:warming, EXT:sitemap_locator and EXT:sitemap_robots 🥳

All new versions are compatibility releases for v13.1 – The Surfer's Starterkit.

Happy updating! 🚀

sarah,
@sarah@phpc.social avatar

What do you use for offsite backups for applications and databases?

willpower232,
@willpower232@phpc.social avatar

@mwop oh that's clever, I keep forgetting about fuse, are you using this one? https://github.com/s3fs-fuse/s3fs-fuse?tab=readme-ov-file

mwop,
@mwop@phpc.social avatar

@willpower232 Yes, within a container, via elementary/s3-volume (https://github.com/elementar/docker-s3-volume).

francesco, Italian
@francesco@orwell.fun avatar

Non riesco a configurare il server integrato di eclipse PHP su ubuntu based. Quando aggiungo un modulo e ne faccio il publish non viene copiato tutto il contenuto nella tmp del plugin, non permettendomi di testare gli script. Viene copiata solo la cartella di root del modulo, ma resta vuota. Non capisco dove sbaglio.

Crell,
@Crell@phpc.social avatar

Null is problematic, but why? Let's see why, and let that guide us to new alternatives.

https://peakd.com/hive-168588/@crell/much-ado-about-null

sirber,
@sirber@fosstodon.org avatar

I forgot how fun it is to develop with . It's sad that most of the jobs with it are WordPress related 😒

maxalmonte14,
@maxalmonte14@indiehackers.social avatar

@Crell @sirber I hold the same opinion about the JVM ecosystem but would love to work with Kotlin one day, it seems clean and modern.

Crell,
@Crell@phpc.social avatar

@maxalmonte14 @sirber It's honestly the most boring modern language. Java with less crappy syntax. There's some bits of it that are weird, but otherwise it's just kinda... Fine? Not exciting or interesting, just... Fine.

pieceofthepie,
@pieceofthepie@n8e.dev avatar

Oh this is fun. I can't upgrade to 11 as it needs PHP-Parser 5+.

Which I can't use as needs 4+.

Not to mention this project itself needs PHP-Parser so that upgrade in of itself means work on my part.

Is this where I start using a PHAR?

pieceofthepie,
@pieceofthepie@n8e.dev avatar

@heiglandreas "Those aren't dependencies of your application. Just tools..."

Fair, but also, if I remove development dependencies from the my projects if they're just tools then those projects no longer have development dependencies.

Which I guess leads me to "what are development dependencies for if not things needed for development?"

heiglandreas,
@heiglandreas@phpc.social avatar

@pieceofthepie Exactly. Only for development. Your code also earns money without them.

But by adding them to the dev-dependencies you are tying the code that earns money to the tools you only need for development.

By using separate composer.jsons (or PHARs) you can use the tools without tying your code to them and their dependencies.

typo3, German
@typo3@typo3.social avatar

From the small to the mighty, developers are all part of a bigger story. 🧡
We're expressing appreciation for all the developers who contributed to the project in the last month, and presenting April’s most important names and some numbers: https://typo3.com/blog/april-2024-developer-appreciation-day-dad

ampache,
@ampache@fosstodon.org avatar

6.4.0 out now!

This is a great release to move to. Numerous fixes and weird bugs squashed.

The 6 branches are winding up development but API6 will continue to be extended when development has moved to Ampache 7.

https://github.com/ampache/ampache/releases/tag/6.4.0

dogmazic,
@dogmazic@framapiaf.org avatar

@ampache
Updated !
It's faster for us ! :)
Thanks !

ampache,
@ampache@fosstodon.org avatar

@dogmazic that's great. We're starting to diverge between 6 and 7 now so really only api extension and bug fixes from now on

How adding Type Declarations makes Your Code Dangerous (tomasvotruba.com)

...and how to avoid it. Type coverage is a way to gradually add type declarations to your PHP project—step by step, one by one. It's a PHPStan package that helps you maintain a specific minimal level from 0 % to 100 %. Once we reach high coverage of 80-90 %, we feel safer. But our code can actually be in worse, even dangerous,...

danielsiepmann,

I'll share this with and in order to allow other members of the communities to find this post :)
phpc.social/

typo3, German
@typo3@typo3.social avatar

Welcome to the , Wolfgang Wagner! 🧡

He's been working with since 2005, and his TYPO3 has helped over 1,250 course participants sharpen their skills. 🚀

Learn more: https://wwagner.net/12

image/jpeg
image/jpeg

ollieread,
@ollieread@phpc.social avatar

I need to remember that Mastodon exists! I’m currently writing a bunch of content to do with PHP and this would be the perfect place to talk about that.

I’m currently trying to decide whether is an interesting enough topic that people may like an in-depth course/series on it. It seems to be something a lot of people are vaguely aware of, but don’t really know the details.

ollieread,
@ollieread@phpc.social avatar

I’ve also been trying to put together some content that’s more beginner friendly, by researching frequently searched queries on Google.

These are the ones I have so far.

ollieread,
@ollieread@phpc.social avatar

In fact, this is my first draft of the article on covariance and contravariance as concepts but also related to .

I've tried to go for simple, without too many details, but I think this contains the fewest number of details I'm capable of writing 😂

https://gist.github.com/ollieread/273cf344503533ee4c497ab4c62929bf

sirber,
@sirber@fosstodon.org avatar

I started a prototype of a framework-less architecture, using , on my playground. Separated public and private files, enabled autoloading using composer and PSR-4. It's fun! 😀

https://gitlab.com/sirber/playground/-/tree/main/php/pure?ref_type=heads

Crell,
@Crell@phpc.social avatar

@sirber Isn't that the same as a custom framework? :-)

nosherwan,
@nosherwan@fosstodon.org avatar

@sirber You need a frame.work laptop for a custom framework.

koehnlein,
@koehnlein@mastodon.social avatar

Developers are copying full template files to just change one single class and say "That's the correct tailwind way" 😭

Xitnelat,
@Xitnelat@wue.social avatar

Multilined html-tag is worth a change either. @koehnlein

koehnlein,
@koehnlein@mastodon.social avatar

@Xitnelat Ignore whitespaces 😉

ramsey,
@ramsey@phpc.social avatar

The latest issue of @phparch magazine is out!

I love how they were able to get articles about experiences at and photographs from (last week!) included in this issue.

Check it out!

https://www.phparch.com/magazine/2024/04/2024-04-deep-diving-php-security/

jclermont,
@jclermont@phpc.social avatar

Yes, I'm a bit of a PHPStorm fan boy. Here's another handy use for the Local History feature. https://masteringlaravel.io/daily/2024-05-02-another-helpful-use-for-local-history

  • All
  • Subscribed
  • Moderated
  • Favorites
  • php
  • DreamBathrooms
  • PowerRangers
  • khanakhh
  • magazineikmin
  • hgfsjryuu7
  • rosin
  • vwfavf
  • Youngstown
  • slotface
  • everett
  • thenastyranch
  • mdbf
  • kavyap
  • Durango
  • Leos
  • ethstaker
  • osvaldo12
  • InstantRegret
  • cisconetworking
  • GTA5RPClips
  • modclub
  • ngwrru68w68
  • cubers
  • tacticalgear
  • normalnudes
  • tester
  • anitta
  • provamag3
  • All magazines