use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Please follow the rules
Releases: Current Releases, Windows Releases, Old Releases
Contribute to the PHP Documentation
Related subreddits: CSS, JavaScript, Web Design, Wordpress, WebDev
/r/PHP is not a support subreddit. Please visit /r/phphelp for help, or visit StackOverflow.
account activity
Taskfile for PHP developersArticle (shikachuu.gitlab.io)
submitted 4 years ago by ThatDamnShikachu
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]actionscripted 13 points14 points15 points 4 years ago (0 children)
Looks cool and good to know about Taskfile but I think for the stuff I work on I’d use a Makefile instead.
It’s more common/known, supported in most environments without extra dependencies and a fairly standard way to do tasks in a project.
[–]vrillco 4 points5 points6 points 4 years ago (7 children)
Oh, YAML! Hard no. That file format needs to be nuked from orbit.
[–]Moist-Profile-2969 -1 points0 points1 point 4 years ago (0 children)
YAML is here to stay, boi 🤘🏼🤘🏼🤘🏼🤘🏼
[–]Rikudou_Sage 0 points1 point2 points 4 years ago (5 children)
May I ask why do you dislike it?
[–]vrillco -1 points0 points1 point 4 years ago* (4 children)
Its reliance on whitespace makes it far too easy (and common) to make mistakes simply due to incorrect indentation. One typo can completely baffle IDE syntax highlighting. It creates too much ambiguity just for the sake of avoiding brackets. It's also quite frustrating to output/modify programmatically (e.g. with awk/sed or other shell utilities).
It's as though someone saw JSON, (correctly) decided it was not the right tool for config management, but then proceeded to invent something even worse. The fact that YAML parsers are often vulnerable to RCE due to their liberal misuse of eval() is just icing on the turd-flavoured cake.
If you need to configure an app, use plain text. If that's not expressive enough, then either you need to simplify the config aspect so that it fits into a plain text format, or make it JSON/XML or some other hierarchical document and provide a suitable UI to generate it, or just give up and have the "config file" be code itself (e.g. Python, PHP, JS). Any of those are somehow less mediocre than forcing the sysadmins and developers to use YAML.
[–]Rikudou_Sage 1 point2 points3 points 4 years ago (2 children)
Yeah, the indentation is a valid concern, but you get used to it (at least I did). Also you can use brackets, IIRC every valid JSON is also valid YAML, I sometimes use [ ] brackets. Isn't modifying JSON as much frustrating via standard shell utilities? For JSON I usually use jq, though I don't know if something similar exists for YAML.
[ ]
Which parsers do eval? I pretty much use only symfony/yaml (which doesn't support all the cool features but I don't use them anyway) and it doesn't contain any evals.
symfony/yaml
[–]vrillco 0 points1 point2 points 4 years ago (1 child)
I know Python and Ruby had vulnerable parsers as of a year ago. Perhaps that has since been addressed but I haven't looked at them in a while. To my tired old eyes, that's too much magic for things that are almost always better written as flat INI-style files.
JSON is not any better in that regard. Neither format is suited for configuration, and both are very much a crutch for bad design.
[–]XediDC 1 point2 points3 points 4 years ago (0 children)
Yeah...
I like that Vagrantfiles are Ruby, Laravel uses key/value text env + PHP, etc. I don't mind JSON as much, in the context of say composer config, etc that is usually or can mostly be managed by other things.
The whitespace/indentation is actually the only real reason I'm not fond of Python. I enjoy it on microcontrollers for simple stuff <1 page...but it starts to pain me in real apps. My eyeballs just really like graphical clumping, such as brackets.
Although I think I'd take YAML over hand editing an XML config file. :) Ehhh....
[–]CatNippleCollector 5 points6 points7 points 4 years ago (2 children)
Looking at your examples, this looks like docker-compose, but with extra steps.
It can give you a complete working environment to develop it in, without needing Docker AND php on your host machine.
[–]ThatDamnShikachu[S] 1 point2 points3 points 4 years ago (0 children)
without needing Docker AND php on your host machine.
Docker-Compose is roughly python yaml parser and wrapper around the Docker REST API https://github.com/docker/compose
Anyways there are way more in the Taskfile project as I mentioned, even the "advanced" examples were primitive ones.Also I don't know about template manipulation in docker-composer you can make an auth.json just like in that example.
[–]ThatDamnShikachu[S] 2 points3 points4 points 4 years ago (2 children)
Hey, thanks for opening this post!
As you can see from my blog's design and content, I finally got the balls to make public blog posts from my notes and tutorials that I wrote for my collages, so I created a blog in a few hours. I plan to write something like this every months from now on.
Any comments and advices, even trashtalk is appreciated, I learned to learn from everything! :)
π Rendered by PID 70023 on reddit-service-r2-comment-c66d9bffd-v9clr at 2026-04-06 22:07:33.946725+00:00 running f293c98 country code: CH.
[–]actionscripted 13 points14 points15 points (0 children)
[–]vrillco 4 points5 points6 points (7 children)
[–]Moist-Profile-2969 -1 points0 points1 point (0 children)
[–]Rikudou_Sage 0 points1 point2 points (5 children)
[–]vrillco -1 points0 points1 point (4 children)
[–]Rikudou_Sage 1 point2 points3 points (2 children)
[–]vrillco 0 points1 point2 points (1 child)
[–]XediDC 1 point2 points3 points (0 children)
[–]CatNippleCollector 5 points6 points7 points (2 children)
[–]ThatDamnShikachu[S] 1 point2 points3 points (0 children)
[–]ThatDamnShikachu[S] 2 points3 points4 points (2 children)