Re: Question: what are frameworks?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



""Parham Doustdar"" <parham90@xxxxxxxxx> wrote in message 
news:5C.B0.05105.F18BE7A4@xxxxxxxxxxxxxxx
> Hi there,
I> I've heard of frameworks, but I don't quite know what they are used for.
> I've done a little search on the internet, but even though I've been able
> to find different PHP frameworks, I'm not quite sure what they offer, or
> in what they differ, or why I shouldn't just use PHP as it is.
> Can someone give a little bit of explaination?
> Thanks!

A framework is more than just a simple collection of libraries, it is a 
support structure in which another software project (application) can be 
organised and developed. The simplest framework is nothing more than a menu 
system which informs the user what application components are available, and 
provides the means for the user to choose an option from that list and cause 
it to executed or activated. This means that each application component can 
be developed without the need for any code to handle the menu functionality. 
The component is simply plugged into the framework and it is instantly 
available.

This simple framework can be extended to provide other features, such as 
security. Instead of allowing just anybody to access the application it may 
need to be restricted to registered users only, and this can be accomplished 
by inserting a login mechanism into the framework. It may then be decided 
that not every user is allowed to access every component, so additional 
access control mechanisms can be built in. It should be possible to extend 
the framework without having to touch every single component that runs 
within it.

The framework may provide other facilities, such as providing the ability to 
navigate between components, to pass messages between components, audit 
logging, workflow, et cetera. This allows the application programmers to 
concentrate on the needs of the application without being bogged down with 
other details.

Some people seem to think that each application needs its own separate 
framework in order to satisfy the unique needs of that application, but they 
have simply not learned to abstract out that functionality which is common 
to every application. It is therefore possible to build a framework that can 
be used by any number of different applications. RADICORE is such a 
framework.

An advantage of a reusable framework is that once a programmer has become 
familiar with it he can carry that knowledge forward into the next 
application without having to learn a different framework.
A framework is a support structure in which another software project 
(application) can be organised and developed. The simplest framework is 
nothing more than a menu system which informs the user what application 
components are available, and provides the means for the user to choose an 
option from that list and cause it to executed or activated. This means that 
each application component can be developed without the need for any code to 
handle the menu functionality. The component is simply plugged into the 
framework and it is instantly available.

This simple framework can be extended to provide other features, such as 
security. Instead of allowing just anybody to access the application it may 
need to be restricted to registered users only, and this can be accomplished 
by inserting a login mechanism into the framework. It may then be decided 
that not every user is allowed to access every component, so additional 
access control mechanisms can be built in. It should be possible to extend 
the framework without having to touch every single component that runs 
within it.

The framework may provide other facilities, such as providing the ability to 
navigate between components, to pass messages between components, audit 
logging, workflow, et cetera. This allows the application programmers to 
concentrate on the needs of the application without being bogged down with 
other details.

Some people seem to think that each application needs its own separate 
framework in order to satisfy the unique needs of that application, but they 
have simply not learned to abstract out that functionality which is common 
to every application. It is therefore possible to build a framework that can 
be used by any number of different applications. RADICORE is such a 
framework.

An advantage of a reusable framework is that once a programmer has become 
familiar with it he can carry that knowledge forward into the next 
application without having to learn a different framework.

There are lots of different PHP frameworks available for the simple reason 
that there are lots of different PHP programmers who each have their own 
methodologies and techniques. Some frameworks are written to aid the 
development of particular kinds of software, such as building web sites or 
CMS systems, whereas others (like Radicore) are for building web 
applications.

-- 
Tony Marston
http://www.tonymarston.net
http://www.radicore.org 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux