Sourcehunt #4 – Reflection, Authorization, Crons, and more

By Bruno Skvorc

Working with PHP 7.1? Download our FREE PHP 7.1 Cheat Sheet!


We skipped January’s Sourcehunt, but we’re back now, ready to boost the stardom of more projects!

Sourcehunt logo

mult1mate/cron-manager [125 ★]

mult1mate/cron-manager is a flexible tasks manager designed for MVC-type applications. It’s used instead of crontab and its purpose is to provide an easy way to manipulate repetitive tasks.

In some ways, it’s similar to Laravel’s scheduler but framework-agnostic and comes with added interactive features which you can explore in the demo.

ayeayeapi [16 ★]

ayeayeapi bills itself as “a micro framework for building APIs […] designed to be easy to use, fast to develop with and to scale from tiny micro-services to world devouring titans.

AyeAye only provides request parsing and responses, and routes – it’s quite simplistic and can be augmented with any third party package you feel you need. Need authentication? Toss in an Oauth2 client / server combo. Need better logging or want requests displayed in Slack? Just plug in a PSR-3 compliant logger and you’re set.

AyeAye, while proof of concept at this point, has potential to grow into something popular – so go ahead and contribute or use it to build something and give the author feedback. If you do something interesting with it, get in touch – we’ll pay you to write about your experiences!

peternijssen/packy [0 ★]

packy, by our very own Peter Nijssen, is a tool for checking the status of your dependencies – that is, whether or not they’re up to date.

What sets packy apart from similar tools that are run periodically from the command line, or tools like VersionEye, are the facts that it’s open source and self-hostable, and it supports several package managers and related remotes out of the box.

Check it out and throw some feedback at Peter!

eddturtle/direct-upload [1 ★]

direct-upload is a nifty “shortcut” package for uploading files directly into an AWS S3 bucket. You’d think this isn’t a big deal, but when you consider the amount of code bureaucracy (codeaucracy?) that goes into hooking up a PHP app with S3 uploads the vanilla way, you definitely start to appreciate little cheats like these.

In the words of the project’s introduction: “This package is designed to build the necessary signature (v4), policy and form inputs when sending files directly to Amazon’s S3 service.

The purpose and development process of the project is explained in this post.

The project comes with example uses, guides, unit tests, and everything else you might need to get started in no more than a few minutes.

sitepoint/rauth [4 ★]

We made sitepoint/rauth to allow access control on classes and methods, rather than routes. So instead of banning the route from anyone who lacks the group “admin”, you can ban the AdminController and some (or all) of its methods. Why? Because this lets you:

  1. switch out routes on a whim and not worry about messed up permissions
  2. use the app in the command line or in the browser, and it works exactly the same – no routes needed
  3. have more fine grained control over certain parts of the application

Naturally, this can be coupled with traditional route-based restrictions if that’s more your cup of tea, but our demo no-framework skeleton needed this exact approach.

There are several outstanding issues waiting for PRs or just comments, so if you have a minute, we’d appreciate some input, if not code!

goaop/parser-reflection [4 ★]

Last but not least, there’s goaop/parser-reflection or “reflection on steroids”. It’s far from the only new PHP-parser-powered reflection library upgrade, so to see the differences and discussion about alternatives, this issue is an interesting read.

In any case, with PHP7’s nifty internal upgrades coupled with speed improvements, reflection is becoming less and less expensive, so if you need to read any kind of meta data from your PHP files either for something like the Rauth package above, or documentation generation, it’s easier than ever!

That’s it for February – as always, please throw your links at us with the hashtags #sourcehunt and #php – here’s the link to the combination. Naturally, if you’d like to sourcehunt a project written in another language, alter accordingly.

Happy coding!

Get the latest in PHP, once a week, for free.