LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[Webdev] Project suggestion: PHP Website Framework

[Webdev] Project suggestion: PHP Website Framework

adam lists at spamfilter.cc
Thu Feb 21 00:41:10 GMT 2002


Greetings webdevvers,

[Couldn't decide where to post this, but I guess this is as good a place as
any...]

I'm trying to gauge interest in a project I've been playing with for some
time, but which I've finally decided is just too much work to do on my own.
The project is called Phactory, and at this stage it could essentially be
regarded as two projects: a framework for web-based website development; and
a set of modules that sit on top of the framework. In it's current state,
most would call it a CMS (Content Management Solution), but I prefer to
avoid that description, because, well, it's become a bit icky at this stage.
The following description is also going to be icky, but feel free to ask
questions.

The core of the project, the framework, is a set of classes that handle HTTP
requests rewritten using the mod_rewrite Apache module; selection of the
relevant module and action; and (very) basic authentication; (and of course
DB connections and queries, although I've moved to PEAR_DB for this). As
part of the process, it selects and loads a secondary library of code
relevant to the UI that should be presented (again, based on REQUEST_URI,
i.e. frontend or backend (admin)). This library contains methods that would
be used regularly to generate HTML for the selected UI, although they could
not be compared to PHPlib in this regard. The entire application is
self-contained, in one object (with sub-objects or extensions).

The second part of the project consists of the actual modules that sit on
top of this core. Currently, there is just a basic CMS module, but I would
hope to add modules for common applications such as: FAQs, press releases,
news, forums, guestbooks, forms, catalogues, carts, etc, etc. These modules
should be just that, modular, and it should be possible to develop these
using the framework provided (and the standard PHP API), and simply drop
them into the filesystem to activate them. They should be able to access
common methods to handle authentication, page generation (templates),
sessions, etc, etc; and are procedural in nature. It would also be my
intention to include another layer between the core and the modules, to
handle things like page comments and templating.

The goal is to produce a framework somewhat like PHPlib or Prometheus[1],
but very much simpler to work with, and documented in the PHP documentation
style. It should essentially be an API sitting on top of the PHP API,
however the core code developers should always have the modules themselves
in the back of their mind. The aim of the project would be to release the
API with excellent documentation and a reasonably diverse set of modules,
and to then encourage developers to write their own modules to contribute
back to the project. It would be very much like PEAR, and would preferably
be actually /based/ on PEAR, with an eye to eventually submitting it to the
PEAR team for inclusion in the PEAR CVS tree. It would be aimed at "SME" web
development.

I have some wild ideas for this, such as unix-style users, groups and
permissions; advanced authentication and session handling; templating;
threaded inline comments (from Phorum); etc, etc, but there isn't a
particular need to put all this stuff in in the first draft. Right now, I'm
just keen to put my ideas to a small group of people, have them bounce ideas
back off me, and get coding. I have a bunch of library code here we could
use, mostly functions I've developed for my own use over time (and I presume
you have a bunch too), but my main problem is getting the core organised and
getting it started.

To make my intentions clear, I would personally intend to use this software
to accelerate web development; get my clients more involved in the site, and
remove the need for me to administer their sites; and ultimately sell the
software as a service through my company, bundled with domain registration
and web hosting. However, the software would of course be released under an
Open Source licence, and everyone else involved would be able to do the
same. (Hell, we could set up a company around it if it was any good! :)

That's it in a nutshell, I would really need to be asked questions or
actually talk to people to get into more (interesting) detail. I would say,
however, that I've been tinkering with this, both in reality and in my head,
for nigh-on two years now (Donncha will testify to that), and I have a very
clear picture of what I want, and what will work. It will be a good project
given good people. It will be a very bad project given bad people. I'm
interested in all responses though, good or bad. Note, however, that if you
come back and say "it's been done before", and point at something obvious
like PHP Nuke, I will come round your house and pee in your boots.

I would intend to set this project up under the auspices of linux.ie, and
the webdev mailing list in particular - it would be a linux.ie project.

Thanks,
adam

[1] http://prometheus.zerodivide.net/api/





More information about the Webdev mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell