Getting ready to unveil PNL

On more than one occassion I’ve mentioned my framework in this forum, currently under the name PNL. I began it with the goal of being a small, simple teaching MVC framework. Surely not much to draw on, so I’ve set it aside then worked with it, then set it away.

A few months ago I ran into a problem where at work we needed to refactor a large website over time. I redesigned my framework to be up to the task, but in the end the powers that be elected to remain on PHP 4.3. (It shouldn’t be too surprising I decided to look for work elsewhere soon afterward for that and other reasons). I was left with a framework without a job, but it was in the interview for my new job what I had made became clear.

I was asked the question I’ve been asked here before, “What does your framework do that the others can’t.”

My answer, after some thought, was this

“It, like jQuery in javascript, plays well with others. It only needs one global namespace declaration - PNL - and beyond that establishes no variables in global scope nor any function calls. It is completely non-intrusive to existing code and can be initialized in the midst of Cake, Symphony, Zend or what have you. While those frameworks probably remain better choices for existing or new projects due to their vintage and test history, mine can do what they can’t - insert itself into the midst of old grown code and slowly, page by page, bring order out of chaos.”

I’ll be setting up a GIT repository page for it and going to alpha release schedule soon. The framework makes very heavy use of another Sitepoint alumni’s code - TomB - and his DICE project.

So, any suggestions for getting the public version of this project off the ground?

Your framework kind of sounds like training wheels for those not familiar with more complex and powerful packages like Symfony 2 or MVC in general. Is it safe to say the framework sets the ground work that should lead to better understanding the more powerful and feature rich, though complex frameworks out there. In that case is it also safe to say that the primary target market are novice programmers or those just getting into OOP/MVC based development. As someone who uses Symfony 2 it would be a really hard sell for me to switch to anything else. Especially, when it is said right out that the main goal of the framework is to teach and not provide a large ecosystem of reusable code/components, like Symfony 2. I know maybe comparing your framework to Symfony 2 or Zend might not be fair but I feel in this day and age those are top contenders when it comes to professional, production ready solutions. So it is hard not to at least consider that comparision when talking about production ready, robust structure capable of handling many different complex business scenarios in an efficient, dry manor. Though you are very correct in saying that most frameworks out there at this point have become very complex. Though that tends to happen when a project evolves over time. It is difficult to stop that from happening unless the project is completely frozen besides for bug fixes. Though locking down a project and only accepting bug fixes it how something quickly dies. Though as only a learning tool I think it would acceptable to do this.

Learning tool remains one of the goals, but that ability, to be injected into an existing site without needing to rule the whole site, should not be underestimated. It’s quite a powerful ability.

Hi Michael,

It sounds like an interesting project, I’ll check it out as soon as the github repo is online. The only thing I could suggest for getting the project going is to get an example online showing how the framework can be used to refactor a badly organised app into something more manageable - I think this is the most interesting use-case as other frameworks tend to stick with the site-from-scratch approach.

You’re in friendly company. :slight_smile: I believe Symfony (under the Symfony namespace) and Zend Framework (under the Zend namespace) do this as well. Cake less so, which seems to depend on global constants all throughout its libraries. :frowning:

So, any suggestions for getting the public version of this project off the ground?

I imagine it would help a lot if you could also release a “step-by-step how to build an application in PNL.” Perhaps the quintessential blog application?

Yeah, something like that.

Then demo just that. Start with a wordpress site, inject PNL and show it doing something useful.