Why PHP

It started as a fast and simple scripting language that could work seamlessly with
many other components.

In its eleventh year PHP has become a major player as a programming language and as a global platform language. PHP os ready for the big time ...

PHP was designed for the Web: you have the ability to create dynamic web application such as websites, intranets and extranets. You can develop highly complex e-commerce solutions, content management systems, mailing lists, search engines and social networking sites: in a word, anything you can imagine doing over the net.

  • PHP for business

    PHP is portable on all the major operating Systems like Windows, MAC and Linux.

    PHP is capable of handling data from a wide range of data sources, taking that data and presenting it in numerous web friendly formats including HTML pages, graphs, spreadsheets, PDFs, XML data feeds and dynamically drawn images.

    PHP facilitate interoperability. With PHP you have a single platform with which to incorporate and generate presentations of data obtained from such diverse technologies like LDAP, XML, Web services, Lotus Notes, SAP.

    PHP solves integration issues on the web: it can directly connect with databases like Oracle, SQLServer, MySQL, directories, online payment systems and protocols avoiding the high development costs of integrating existing applications and databases.

  • More benefits

    Having a community of more than 4.500.000 developers and more than 20 million websites using this technology gives PHP stability and durability. It is also constantly evolving to serve the market need for faster, cheaper, better and secure.

    PHP is simple, adoptable, works across platforms and most of all is non-biding. With PHP you are not dependent on a manufacturer to fix things that don't work, not are you forced to pay for upgrades every year to get a working version.

    PHP is extendable due to its modular system of extensions to interface with diverse libraries, such as encryption, graphics, XML and more.

  • PHP in action

    PHP platform dominates the internet and furthermore is not limited to pure Web architectures; with SOAP.COM and Java. PHP enables the deployment of service-oriented architectures.

    Global companies like Cisco, Motorola, Unilever, Philips, Yahoo and Facebook, numerous governments, televisions, newspapers and banks who are currently using it demonstrate that PHP is successfully employed in enterprise level projects.

Why a framework

It started as a fast and simple scripting language that could work seamlessly with
many other components.

The dictionary defines framework as:

- a skeletal structure designed to support or enclose something.

- a frame or structure composed of parts fitted and joined together.

A software framework

- is a collection of software libraries that has reusable abstract code used to accomplish a set of tasks within a project without having to spend time creating components from scratch.

A web application framework:

- is a software framework that is designed to support the development of dynamic websites, web applications and web services.

- provides libraries for database access, templating frameworks and session management.

- promotes code reuse.

Many web application frameworks are based on the MVC pattern to separate the data model with business rules from the user interface (UI).

Because of the characteristics mentioned above, the framework is the best solution for enterprise web application. One of these web application frameworks is DotKernel.

DotKernel is using the HMVC (Hierarchical - Model View Controller) architecture, easy to learn by both beginner and intermediate level programmers. DotKernel is not a standalone framework; it uses Zend Framework as a component library, accessing its classes directly.

Strongly integrated with Zend Framework, DotKernel can be considered a PHP Enterprise Level Framework.

DotKernel benefits:

- increased development productivity and runtime performance

- improved test coverage and peer-reviewed code quality

- freely available code repositories

- intrinsic security of Enterprise Level ZF components

- easy to learn by beginner and intermediate level developers

- a learning tool to familiarize yourself with ZF complexity

- three years support for each branch or version

- reduced time-to-market for web applications and lower costs for your clients

Development Environments

Development Environments in PHP Enterprise Applications.

Before being displayed to the end user an application passes through multiple phases. There is a long road from the client proposal of his idea until the final application. In short, this is the process:

The client outlines his idea for the application.

A list of application requirements is prepared.

The system architect takes this list and transforms it into a system design document detailing how to deliver the required functionality.

The development team takes change to convert this document into a complete information system. From this point on, the code written by the development team passes through the following environment stages: development staging and production. If new functionality is needed, it will be implemented by the development team.

From the development mode, if no issue is found after testing, the application goes out to production, becomes "live" and is delivered to the customers.

From now on, the system will require constant maintenance. Maintenance is two sided - new feature implementation and error removal.

Further in this article we will detail the environment stages from the client's point of view.
From the developer's point of view, the PHP environment are described here:
http://www.dotkernel.com/php-development/php-environment-development-staging-production/

  • Development environment

    This is where the system code is implemented. If there are multiple members in a development team, each development works on his own environment. In this stage, the client can't see a full implementation of his requirements, because these are divided between the members of the development team. The client will have to wait for the staging environment.

  • Staging environment

    It is used to assemble the code that was written in the development environment by the members of the developer team. After that, the code must be tested and reviewed. If no issue is found, the application can be sent to production. Here is where the client can see his requirements outlined in application functionality (this is called a demo). in this stage, the application can be tested or used for demonstration/trading. If the client thinks of improvements for the current application functionality., the code goes back to the development environment. Otherwise, if no issue is found, the code goes into production.

  • Production environment

    This is the "live" environment, where the final application goes out to the world and becomes active. From now on, the application will need maintenance. The application will definitely require updates due to various reasons. Change could happen because of unexpected behavior of the system, or new client requirements. Each new change that will be made to the application, must step through the environment stages, development and staging, before it goes out into production.