I just want to ask fellow Developers here, can you give me a reason why you have to adjust to standards given by frameworks and not to create your own framework because thats just recreating the wheel?

I want to be enlightened as sometimes i tend to be hesitant in learning new frameworks/languages because i find them over-complicating the process on creating an app/software.

  • 2
    Frameworks 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.
  • 1
    TL;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.

  • 1
    I 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.
  • 1
    Because you develop software for a goal. Software isn't generally an end in itself. And generally, frameworks speed you up in reaching your goal. I agree with @Hel8y here, use what speeds you up, replace what doesn't.
  • 0
    Thanks 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?
Get a Better Job
Add Comment