[thelist] Why would I NOT use my own framework for my client's work

Renoir B. renoirb at gmail.com
Mon Oct 1 21:30:45 CDT 2012

Hello All.

I started that answer when Nadeem explained that he created his own

I thought I would share my thoughts on it, on a different thread than the
discussion-starter talking about JSON field search from Drupal database

On that subject, I extensively written about it because I had to defend my
technological choice of Symfony2 at my (very-large) client.

   - My answer to people asking whether they should or not use a
   - Choosing a framework, how I personally define what is “hot” about
   them, an evaluation process (part
   - .,.. and the following (not yet published) that I would call: "Why
    would I NOT use my own framework for my client's work"

---- SNIP -----


I totally agree with you Nadeem. Everybody can work with a well
architectured CMS, whatever patterns it is following.

A CMS is for content and when specialized requirements has to be met its
the way I would go.

My only problem is that *you* created a framework, use it into production
for client, and do not promote or get a community around it.

Not that creating a framework is bad. But think that other people WILL have
to dig in *your *code. Whatever standard it is using.

Not to mention that it may not have a as well documented API and guides as
an enterprise-level framework would.

Think of Symfony2 or Zend2 for instance.

My opinion is that; if you have the skillset to create your framework. Why
not contributing to an existing one?

For my side. I do not have yet the skillset to create a framework or use it
for my client.

Most importantly. For my clients.

I would, someday, create my own. But only to understand *why* some pattern
is used or not.

All about my choices follows the *NIH *approach.

NIH as in "not invented here".

On the NIH point of view, you may also like to see Derek Strobe's blog post
it, it inspired me much.

The overall idea is that Instead of charging for my time implementing
dependency injection, i'll use an existing one.

*Choosing a library*

When I saw your note about the templating engine. Please, there is a lot of

No need to reinvent markup Tokenizers.... Mustach, Twig or even Laravel's
templating engine.

Even Twig would make you create your own

I purposefuly NOT chose Smarty because we are talking about (at least)
PSR-0 libraries (see php-fig, below).

We want to think of next year, not 3 years ago.

Talking about maturity. Symfony2 is already 2 years old (compared to Zf2
who is less than a month).

If it is not only about maturity. Think that the PSR group is a cconsortium
of quite a few communities who decided to standardize the way to structure
libraries so they are inter-operable, PHP FIG was created for

See below...

*Drupal, Joomla etc.*
The php-fig <http://www.php-fig.org/> now. We were talking about CMS.

I have the feeling that someday CMS will be only a GUI (think Mercury
Editor<http://jejacks0n.github.com/mercury/>or with
to a Storage engine (as a Content Repository) <http://phpcr.github.com/>.

I think my links will say a a lot :)

Not imagine you want to deploy your site with X, Y and Z?

  "require": {
      "myown/vendor": "master",
      "external/lib": "3.1.*",
      "external2/template": "master"

Or see http://getcomposer.org/doc/00-intro.md using http://packagist.org/

*All in all...*
Nowadays. If you are still:

   1. Manually using require_once(...)
   2. Adding database queries in your view (WordPress? x_X)
   3. Using loops and query hidden in a ... templating engine
   (ExpressionEngine "loops" x_X)

You may need to see the reference I made in this thread :)

My argument goes as following, mostly for what my (our) clients pays us for:

   - Learn and make good use of framework that has a reputation, good
   architecture, modular, inter-operable with other, in PHP is not a chimera
   - NIH please
   - Build functionality for the client who pays you. not maintain the
   serializer service mechanism... framework do that stuff. client do not care
   about it :)
   - SOLID principles?
   - Scaling? (only one database? what if I need to go deploy on a PaaS


Renoir Boulanger

On 2012-09-21, at 8:48, "Nadeem Hosenbokus" <nadeem at nadeemh.com> wrote:
> Would another developer find it easy to maintain a site built on my
> framework? I think so. They'd need an understand of objects in PHP and
> abstraction and then the rest is pretty straight-forward. It's a PAC
> architecture which makes it easy to have modules and the templating system
> is very standard.

*Standards are so nice, so many to choose from :)*
> In all, I'd say yes, another developer could maintain one of my sites.
> This thing about reinventing the wheel keeps niggling at me though. I can
> put together a site like mine in less than half an hour (design aside)

*Of course, you did it ;)*

> my framework. The CMS I have allows me to add/remove pages and manage
> content in as many languages as desired. Would I be able to do the same
> Drupal or Joomla if I put in the time to learn them?

*How can oneself beat hundreds?*

> My framework is available online if you'd like to take a look:
> http://nadeemh.com/osprey/

*Nice you did it!!*
*Now, have a look at Composer and imagine the bundling :)*

> It's not nicely bundled with an installer and it is only online because I
> was seeking collaboration to see if it was worthwhile and to improve it.
> It's not a solution for the public but rather for PHP developers and
> designers.
> Nadeem Hosenbokus
> (230) 766 9169
> www.nadeemh.com
> -----Original Message-----
> From: thelist-bounces at lists.evolt.org
> [mailto:thelist-bounces at lists.evolt.org] On Behalf Of Sarah Adams
> Sent: 21 September 2012 16:16
> To: thelist at lists.evolt.org
> Subject: Re: [thelist] searching and JSON
>> Now I can use my framework for pretty much anything so I stick with it
> because it does the job and I know every single line of code making it
> easier to maintain and expand.
> I think this is the crux of the matter. If you were a Drupal expert
> you'd probably find it just as easy to add new features to a Drupal
> site, or maybe even easier since there is a ton of already-built stuff
> out there, so there's no need to reinvent the wheel. So what happens
> if you end up passing of the development/maintenance of a project to
> someone else? Would they find it easy to navigate your framework?
> Sarah
> --
> * * Please support the community that supports you.  * *
> http://evolt.org/help_support_evolt/
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
> --
> * * Please support the community that supports you.  * *
> http://evolt.org/help_support_evolt/
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !

More information about the thelist mailing list