25-08-2017, 09:32 PM
Rapid Application Development Framework plus IDE for PHP
Application Development .pdf (Size: 1.18 MB / Downloads: 123)
ABSTRACT
This report describes the PHPlus (PHPlus), an open source object oriented framework and an
IDE (Integrated Development Environment) for rapid web application development using PHP 5
(PHP, PHP5 beta 2) for Linux Platforms. The framework strictly follows the MVC (Model-View-
Controller) architecture where the presentation is clearly separated from the application logic and the
approach is completely object oriented. In other words, our framework provides a clear boundary
between the tasks of web designers and PHP programmers. This approach makes it possible for web
team members to work in parallel which is very important, especially in a commercial, environment to
meet customer demands and to take the competitive advantage over other competing software
organizations. Further this approach eases the burden of maintaining large and complex web portals.
The popularity of any framework largely depends on its ease of use and its integration to a
development environment. The framework is closely incorporated with the IDE, which has been
developed as part of the project. (The IDE can be used with or without the framework, but it is
encouraged to use the framework as it provides many advantages). The IDE provides project
management, code editing facilities (syntax highlighting, method discovery, context sensitive help,
auto-completion, etc.) , deployment, auto-generation of clients for web services, auto-generation of
skeletons of unit test cases, auto-generation of project documentation and CVS (Concurrent Versioning
System) support, which are the core functions. The framework together with the IDE truly helps the
rapid web application development.
INTRODUCTION
Overview
PHPlus (PHPlus) is an open source object oriented framework and an IDE (Integrated
Development Environment) for rapid web application development using PHP 5 (PHP, PHP5 beta
2) for Linux Platforms (kernel version 2.4 or higher). It is carried out as a partial fulfillment of
Computer Science & Engineering, B.Sc. Engineering degree course. The framework strictly follows the
MVC (Model-View-Controller) architecture where the presentation is clearly separated from the
application logic and the approach is completely object oriented. The framework binds the design and
the logic together plus provides a set of API to the developer. IDE, which has the framework in-built, is
extremely useful to develop industrial/academic PHP based web applications ranging from small to
enormously large in size. IDE has features that one finds in any popular IDE for other languages. A
conscious effort was made to provide as many tools and guides as possible to the programmer to reduce
the development time.
importance of an open source framework and an IDE for PHP
PHP (PHP) is a most widely used server side scripting language and its popularity has grown at
a tremendous rate over the last few years. Current statistics (PHP Usage, Nov 2003) show that it is
used in over 14 million domains. The main reasons for its popularity are multi-platform support, ease
of use, higher performance and being an open source project. PHP allows scripts to be embedded inside
HTML pages. When it comes to large-scale business applications, it is experienced that this approach
introduces a lot of overhead on future modifications and maintenance of the web site. In many cases it
is found that the cost of maintenance far exceeds the cost of development. Many people have identified
this problem and some have proposed their solutions in the form of frameworks as well. Eocene
(EOCENE) is one such framework. Even though, these frameworks try to solve the problem mentioned
above, frameworks themselves introduce some serious problems. For example, Eocene uses a set of
custom defined tags to generate dynamic content in HTML files and this introduces problems during
the designing/redesigning of the web pages. In particular, the visual designing capability is lost and it
does not completely separate the logic and the design. Our approach to solve this problem uses widely
industry-accepted techniques.
Signals and slots
Signals and slots are used for communication between objects. The signal/slot mechanism is a
central feature of Qt.
A signal is emitted when a particular event occurs. Qt's widgets have many pre-defined signals,
but we can always subclass to add our own. A slot is a function that is called in response to a particular
signal. Qt's widgets have many pre-defined slots, but it is common practice to add your own slots so
that you can handle the signals that you are interested in.
Signals and slots are loosely coupled: a class which emits a signal neither knows nor cares
which slots receive the signal. Qt's signals and slots mechanism ensures that if you connect a signal to a
slot, the slot will be called with the signal's parameters at the right time. Signals and slots can take any
number of arguments of any type and they are completely type safe.
All classes that inherit from QObject or one of its subclasses (e.g. QWidget) can contain signals
and slots. Signals are emitted by objects when they change their state in a way that may be interesting
to the outside world. This is all the object does to communicate. It does not know or care whether
anything is receiving the signals it emits.