PHP Package Development Standard, aka pds/skeleton, is now stable. I’ve linked to it before and I think it’s a great idea and I’m glad I’m not alone:
Roughly 78,000 packages already comply with the
pds/skeletonstandard, although they may not know it. To formally show that your package has adopted the standard, “require-dev” it via Composer, or display a badge on your README.
I’d gladly follow this standard for my own work too, except that I mostly work with WordPress and CakePHP these days, both of which do things differently from the standard and from each other.
WordPress kind of assumes that the whole project is public, so you don’t really get public/ folder. It also organizes the code into wp-includes/, wp-admin/ and wp-content/ folders, instead of the src/ suggested by PDS. And, in terms of configuration, everything goes into wp-config.php file instead of something in the config/ folder.
CakePHP is much closer to PDS in terms of organization of files. The only difference that I can spot is the use of webroot/ folder instead of the suggested public/.
I’d really love to see larger libraries and frameworks adhere to the PDS, but until that happens, I’ll keep an eye on things.
P.S.: The standards comic strip is of course from xkcd.