""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