x

Important links

PHPSailors repository here
PHP documentation here
PSR-4 explaination here
Symfony Router walkthrough here
PHPMailer repository with a usage example here
Bootstrap 4.3 documentation here

Welcome,

This is a bootstrap application that will quickly get you started writing web apps using standalone components or otherwise known as backend libraries and vanilla PHP code.

Why standalone component packages?

Those components have been created with specific needs in mind by very capable people. Their use covers some standard implementations that would otherwise be a pain to recreate for each project from scratch.
Each component has been battle tested through many iterations and their developers as well as the communities around them keep them up to date and patch every security issue found asap, an aspect that is crucial nowadays.

Why vanilla code?

I recognize the advantage of using full platforms in some projects, but I find myself very often in situations where I need to quickly bootstrap a project, but I'd rather not use any specific framework. In the same time I don't want to get back to /index.php and all those dirty project structures most of us have been through and that's when PHPSailors comes in.
Doesn't that defeat the purpose of using packages/libraries?
It doesn't. You use packages for core things like routing, sending emails, generating pdfs, loading classes and so on while you do in vanilla code everything else.

Right, so standalone components + vanilla code?

Yes, the best of both worlds.

Quality of the code, improvements and security

This project evolves with me or I should say a few hundred of steps behind me. As much as I would like it to be the perfect repository for bootstraping a web app, the perfect code, syntax, implementation and the most secure there is, the reality is that I don't have the time to make the project grow and be what I want it to be. I can see my tech skills and approaches change over time and I'm not ashamed of my previous projects or code snippets, I mean sure they suck, but that's the proof of evolving, therefore, as is right now it suffices my need of having a quick bootstrapping app and it's pretty good.

Originally, I was planning to keep it as simple as possible, but I realized I need speed of development, therefore I decided I'll have different branches with different modules/implementations attached like session based register/auth, token based register/auth, multi-language/currency and so on, for now though, this is all there is.


Packages, libraries and versions

Request cycle