My first #PHP 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 #Laravel 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
@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.
@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. ;)
If you were about to start a medium-sized #PHP project, what would you choose as an #ORM, 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 Absent Doctine, I'd build the the thinnest layer on top of Postgres I can that gives me typed values. No mapping logic, no ORM hooks, just easily packaged and mockable SQL.
@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.
@sarah I have a recurring job that (a) runs pgdump, and then (b) uses logrotate to rotate backups and expire old archives. This runs on a mounted s3fuse volume, which gives me backup to, in my case, DO spaces.
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.
@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.
@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?"
From the small to the mighty, #TYPO3 developers are all part of a bigger story. 🧡
We're expressing appreciation for all the developers who contributed to the #TYPO3 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
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 #php#reflection 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.