Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Not an extension, but you may find this useful

Max_BMax_B New
edited September 2007 in Vanilla 1.0 Help
Hi there,
I've not been much active on this forum last months and I'm a bit out of sync with breaking news.
This post is to let you know that I've just released the first public version of a library I wrote, called HoinP.
From the doc page :

HoinP means HTML objects in PHP. The easy spelling is HoP.

It's free software under LGPL

The purpose of this library is to offer a structured way to generate XHTML markup from PHP, without the traditional interleaving of PHP chunks, HTML chunks and echo statements all over.

It is an intermediate concept between templating systems (I don't like the paradigm) and PHP DOM extensions (over complicated for the purpose). It will fit well in MVC designed applications and is close to the definition of helpers in the Zend Framework. In fact, the first draft of this library is older than the ZF 1.0 release, while it shares some conceptual similarities with these helpers.

If you hesitate to use it due to server load, consider caching methods and get the flexibility at low cost.
Maybe Mark will like it and integrate in future Vanilla2?
Mark if you read, I'd like to know you opinion on it, even it you'll not use it.

Posting this in August is not very wise, I hope this discussion will not sink too fast.


  • I've taken a quick look at it, but isn't it something Mark already did? Like the example you give with a_select, the Lussumo Framework already has a Select-object which works in the same way...
  • Yes the select object in Lussumo framework is close to this, but is is a single element type class object, not an orthogonal implementation for every html object, in 3 classes (of which one is the optional factory).
    The alpha form_controller in HoP also has a cousin in Lussumo, this one is intended to be more general.

    One criticism to Vanilla has been that the markup generation, the theming, is not fully, clearly delimited from the controller module. There are "echo" here and there and a form open in controller is closed in the theme or the reverse.

    HoP module does not by itself ensure this clear separation. In fact it can be objected that it blur the border line. The purpose of HoP is double :
    - a theming tool, alternate to templating system, where programatic method is more efficient than direct markup. This is the V part of MVC, and would wipe out html/php interleaving.
    - an interface layer between the Controller and the View when some part of the view are closely data related.
    A well designed MVC/HoP application should then have
    - a controller part retrieving and working on data
    - an interface building Hop objects which depend on this data, in strict design no style implying data (class name etc) should be added to HoP objects at this stage.
    - a view/theme using HoP and/or HTML and HoP rendering, possibly adding theming to already built objects.
  • Bumping this to ask to the community "What are the best places to submit this library" ?
    Suppose you are seeking for such a tool, where would you go?
    Don't answer Google, please, you know how ranking in there is a matter of cross-linking so a fresh input like this one is lost nowhere.

    I wonder, where did Mark started to register alpha versions of Vanilla?
  • Personally I read about library on blogs and magazine - I found out about vanilla in .NET. If I am looking for something I will do a search on google, source forge and google code.
This discussion has been closed.