We skipped January’s Sourcehunt, but we’re back now, ready to boost the stardom of more projects!
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.
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 ★]
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
myapp.com/admin from anyone who lacks the group “admin”, you can ban the
AdminController and some (or all) of its methods. Why? Because this lets you:
- switch out routes on a whim and not worry about messed up permissions
- use the app in the command line or in the browser, and it works exactly the same – no routes needed
- 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.
PHP Authorization with JWT (JSON Web Tokens)
By Miguel Ibarra Romero, Matthew Setter,
Need to authenticate requests to a server? Learn what JWTs are and how to use them instead of sessions to authenticate your users via API calls.
Setting Up a Modern PHP Development Environment with Docker
By Tom Butler,
There are so many ways to set up your PHP development environment, but using Docker is the current best practice. Let's walk through how to do it properly.
Getting Started with Laravel Livewire
By Wern Ancheta,
Bruno is a blockchain developer and technical educator at the Web3 Foundation, the foundation that's building the next generation of the free people's internet. He runs two newsletters you should subscribe to if you're interested in Web3.0: Dot Leap covers ecosystem and tech development of Web3, and NFT Review covers the evolution of the non-fungible token (digital collectibles) ecosystem inside this emerging new web. His current passion project is RMRK.app, the most advanced NFT system in the world, which allows NFTs to own other NFTs, NFTs to react to emotion, NFTs to be governed democratically, and NFTs to be multiple things at once.