I am pleased to announce the premier release of the InterJinn
Application Framework for PHP.


This has been a lengthy endeavour I undertook some time ago to
provide a useful framework for quickly creating powerful Web
(and shell) applications. InterJinn makes its debut at version
0.9.0 and is considered good for production, but as with any
new release, it is not expected to be perfect. Your feedback
can make a great difference. Some might wonder why a framework
is useful. That question is fairly loaded. For simple sites it
might not be as useful as large complex sites. With the
InterJinn framework you have a common API for many of the most
common tasks performed for any application. The nice thing is
that if the services that offer these APIs don't work quite like
you want, then you can rewrite the services and they will work
smoothly as long as you have maintained the API. This has
benefits when you are targeting a large audience, or when you
want the code you've written once to work in other situations or
contexts. For instance maybe you've written great management
system for real estate agents, and you want to re-market it to
other agents, but some are using Windows, some Linux, and yet
others Solaris -- to complicate the issue some are using MySQL,
other Oracle, etc. A framework helps to relieve the complexity
of compatibility across multiple systems whilst also
simplifying often used concepts. Following is a brief summary
of some of the features:


- Fully modular OO design.
- Database or Filesystem Session Service
- Database or Filesystem Profile Service
- Database or Filesystem Cache Service
- Database Service
(default is MySQL but in 3 lines you can configure a PEAR DB Wrapper)
- Hierarchical and Inheritable Property Tier
- Powerful Form Engine
- Lazy and Efficient Loading Mechanism (ie Scalable)
- Pluggable Templating Engine
- Layered XML Compilers for Template Engine
- Any kind of compiler you can dream up for Template Engine

More info:

- Almost every core service can be removed and replaced with a custom
service, that is to say, if you don't like how sessions are handled,
you can extend the sessions service objects and configure the
framework to use your version.
- Property system for module/components allows declaration of complex
properties which simplifies your development work. For instance
session properties can be declared which will be bound to your
component allowing transparent access to session data. Properties can
be declared as queries, and the result set for the query will be
bound to your component's member variable. There are many other
property types that make configuring your application easy.
- Property system can transparently load contextual language values.
- Template engine supports content retrieval from filesystem, database,
or both -- and you can add your own custom retrieval mechanisms.
- Template engine can indefinitely nest includes and supports
multilingual localization almost transparently. Also supports
inclusion of content via paths relative to the template in which the
content is being included.
- Create your own template compiler, or better yet extend the provided
base tag compiler to add support for your own custom tags.
- Template engine compiles templates and source files to pure PHP and
HTML. There's no such thing as slowdown.
- Non invasive, minimal number of variable in global space, and works
with or without register globals on.
- Works happily with any other code you might have or download from PHP
Classes or anywhere else.
- Probably works with Smarty, but why would you use smarty when the
included template engine is better (IMHO :)

Even more info:

It's hard to explain and point out all the great features of this
framework. You would be better served to head to the site and read up
on some of the doentation -- there is lots of doentation to
answer almost any questions you might have.


| Worlds of Carnage - [url]http://www.wocmud.org[/url] |
| Come visit a world of myth and legend where |
| fantastical creatures come to life and the |
| stuff of nightmares grasp for your soul. |