Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
C0D44289579dFrameworks are designed to remove common issues found in the underlying language, stack depending on what it is for.
Sadly, these frameworks tend to add their own bullshit atrocities into the mix and now you are not just dealing with the underlying issues, but new ones specific to the framework at hand.
But on a positive note, the good ones do remove the boilerplate from the underlying language and makes your life slightly easier.
As for keeping to standards, this is important if your work will be developed in the future by another dev who may or may not be familiar with the framework and makes their life easier to find information about the framework and its pitfalls.
Hel8y35179dTL;DR Just use the parts of frameworks which fit your needs, write other parts yourself.
Years ago I struggled with the same questions. Back when I was 16/17/18 (pre-composer ara), I mostly wrote simple PHP scripts. I wrote some "frameworks" back in the day. I wouldn't really recommend this, unless it is for learning purposes. There are other options which require a lot more simple.
After writing the simple PHP scripts I rolled into a project which used Code Igniter. This was my first experience with a framework. I worked on the project for years, but at a certain point I realised CI just held me back somehow. The patterns used by the framework prevented me from properly solving some problems. That's when I switched to Zend Framework v1 (not for that project, but new ones).
Zend Framework profiled itself kind of like an "Enterpise Framework". I think, back then, it was really one of the first real frameworks which you could use to build your own system from scratch.
Hel8y35179dI made the step from ZF1 to ZF2 a few years after that. One thing that started bugging me for years was the way the framework interacted with the database. Their Row/TableGateway pattern is okay, but for some projects it just doesn't work that well.
Over the years composer (together with PSR standards) really made it a lot easier to mix and match different frameworks. Nowadays I use Zend Expressive (a package of Zend Framework implementing middleware). Doctrine (as a data mapper), Symfony's Normalizers and Zend Service Manager for resolving dependencies. On top of that I use my own package to schedule and execute asynch jobs (because there weren't any good alternatives back then, don't know if there are any now).
If some other part of a framework comes close to what you need, you might try to modify it to your needs. You can learn a lot from reading, understanding and eventually modifying other packages.
dllsethr1179dThanks everyone for all your inputs. I'm beginning to understand it clearly now because i was confused lately if its good to have your own framework built from scratch.
Your Job Suck?
Take a quick quiz from Triplebyte to skip the job search hassles and jump to final interviews at hot tech firms
Get a Better Job