3 ms·
"The MicroPHP Manifesto" is actually "The Lone Programmer Manifesto". Programming in today's world means working with other people's code. All a framework does
by pygorex 15y ago
"The MicroPHP Manifesto" is actually "The Lone Programmer Manifesto".
Programming in today's world means working with other people's code. All a framework does is provide a set of design patterns and standards that a group of programmers can adhere to. This encourages code reuse and allows you as a programmer to create "black boxes" - components with a well defined programming interfaces that behave in a consistent & predictable manner.
Real-world example: I'm currently working with a custom-built CMS programmed in PHP. I'm the second man on a what began as a one-man project. The CMS author wrote a bunch of database functions (essentially wrappers for the deprecated mysql_* functions) and dumped them into a file. Now, the author wasn't aware that you can (and should) lazy-load database connections - so every time you need to talk to the database, you have to manually connected using `cms_db_connect()` AND select the database with `cms_db_select(CONST_DATABASE_NAME)`. As pretty much every page initiates a database connection this code is EVERYWHERE.
And this is only the tip of the iceberg. There's also a half-assed MVC implementation, ubiquitous usage of inline CSS, un-encapsulated code, and a butt-load of quirky behavior. Now if the original author had take a little bit of time at the beginning and researched a proper framework or used an existing CMS our project would not be behind schedule - and it would be far easier to add another developer into the mix. All this meaningless complexity because the original author took the "simple" route of not working with a framework authored by third parties.
- mark_story 15y agoThis is a similar drawback I see to microframeworks. You end up having to either roll the bits you didn't get from the framework or build a more complete framework out of other components. This can create dependency hell if you're not careful/make the wrong choices as well. Choosing simple tools for complex jobs can get you in just as bad of a place as choosing complex tools for simple jobs.