| PHP Intoduction |
| PHP, which stands for "Hypertext Preprocessor", is a server-side, HTML embedded scripting language used to create dynamic Web pages. Much of its syntax is borrowed from C, Java and Perl with some unique features thrown in. The goal of the language is to allow Web developers to write dynamically generated pages quickly. |
|
| Please fill up the form below and we will submit a proposal for your project. Alternatively, you can send email to contact@optionm.net with the project requirements. |
|
|
|
|
|
 |
| Overview |
|
|
| Anyone who has designed web sites for any length of time knows the limitations of html and other client side languages like CSS and JavaScript. While these languages remain at the core of web development, their primary function is to control how text and graphics are presented. Because they lack the ability to manipulate information on demand, or communicate with web servers, the result is a static web page. |
|
| The ability to create dynamic pages opens doors. Suppose you wanted to create a survey to collect information from visitors to your web site. You could easily create a form with HTML that included all your questions, and have the results emailed to you. But to convert the raw information into a meaningful format, you'd have to manually compile it, and then organize it to gauge the results - a process which could take hours. |
|
| Fortunately for you, using scripting, there are easier ways to collect and evaluate the results of the survey, or any form. Rather than sending the information through email, a script grabs it and stores it in a database on the server. A second script communicates with the database, gathers and groups the information, and prints it out when you visit the page. The script could also produce bar graphs, percentages and totals, or present the information any other way you could conceive; automatically, and on demand. |
|
| So what language do you use when you want to analyze survey results? Or offer personalized information to your visitors, or display an archive of journal entries without managing copious HTML files?In recent years, more and more developers have been turning to a relative new-comer to the scripting world for the answer: PHP. |
|
| What is PHP? |
|
| PHP, which stands for PHP Hypertext Preprocessor, is a server-side embedded scripting language. In non-technical terms: a PHP processor is run on the server (Windows, or a flavor of UNIX). When a page is requested that contains PHP, the processor translates and executes all the commands in the page, and then outputs the result to the browser as regular HTML. Because this translation occurs on the server, a page written with PHP is viewable with any browser, on any operation system. |
|
| Like most other scripting languages, PHP can be embedded directly into HTML. PHP code is separated from HTML by Start and End entities. When a document is parsed, the PHP processor only interprets the demarked areas, and outputs the results in the same position. |
|
| Ironically, PHP also includes the ability to almost completely separate code from HTML. For larger, collaborative projects this method is ideal because it allows designers to work on the layout of the page without interfering with the code aspects. |
|
|
Why PHP? |
|
| It's no secret that there are alternatives to PHP: ASP, Cold Fusion, and Perl, to name just a few. While each of these languages has differences in syntax and structure, when it comes down to it, they can all produce the same results. |
|
| So, why would you choose PHP over other options? |
|
| - Simplicity. For people new to programming, this is frequently the strongest appeal. Even those with little or no programming experience can quickly get up to speed and begin creating full-fledged applications. Because it was specifically designed for creating web applications, PHP has a host of built-in functions to handle common needs. |
|
| - PHP is Open Source. Because PHP's source code is freely available, a community of developers is always working to improve, add to, and find bugs in the language. Open Source means you never need to rely on the manufacturer to release the next version if something doesn't work or pay for expensive upgrades. |
|
| - Stability, and compatibility. Currently, PHP runs stable on a range of operating systems including most flavors of UNIX, Windows and Macs and integrates well with most popular servers including IIS and apache. |
|
| PHP is also endowed with other goodies, like native support for many popular databases, an extensible architecture, and a processor that not only uses fewer resources on the server than many of its competitors, but also displays pages in record time. |
|
|
|
| Click here to submit your project requirements to Option Matrix, India. |
| Back to top |
 |
| PHP History |
|
|
| PHP, standing for Personal Home Page, began as a set of Common Gateway Interface binaries written in the C programming language in 1994 by the Danish/Greenlandic programmer Rasmus Lerdorf. Lerdorf initially created these Personal Home Page Tools to replace a small set of Perl scripts he had been using to maintain his personal homepage. The tools were originally created to perform tasks such as displaying his résumé and recording how much traffic his page was receiving. He combined these binaries with his Form Interpreter to create PHP/FI, which had more functionality. It included a larger C implementation which could communicate with databases and helped build simple, dynamic web applications. He released PHP publicly on June 8, 1995 to speed up the finding of bugs and improving the code. This release was named PHP version 2, and already had basic functionality that PHP has today. This includes Perl-like variables, form handling, and the ability to embed HTML. The syntax was similar to Perl but was more limited, simpler, and less consistent. |
|
| Zeev Suraski and Andi Gutmans, two Israeli developers at the Technion IIT, rewrote the parser in 1997 and formed the base of PHP 3, changing the language's name to the recursive initialism PHP: Hypertext Preprocessor. The development team officially released PHP/FI 2 in November 1997 after months of beta testing. Afterwards, public testing of PHP 3 began, and the official launch came in June 1998. Suraski and Gutmans then started a new rewrite of PHP's core, producing the Zend Engine in 1999. They also founded Zend Technologies in Ramat Gan, Israel, which manages the development of PHP. |
|
| On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. On July 13, 2004, PHP 5 was released and is powered by the new Zend Engine II. PHP 5 included new features such as improved support for object-oriented programming, the PHP Data Objects extension (which defines a lightweight and consistent interface for accessing databases), and numerous performance enhancements. The most recent update released by The PHP Group is for the older PHP version 4 code branch. As of January 2008, this branch is up to version 4.4.8. PHP 4 will be supported by security updates until August 8, 2008. PHP 5 is the only stable version still being developed. Late static binding has been missing from PHP and will be added in version 5.3. Development on PHP 4 ceased at the end of 2007, except for the critical security updates for PHP 4 already mentioned. PHP 6 is now under development and major changes include the removal of register_globals.magic quotes, and safe mode. PHP does not have complete native support for Unicode or multibyte strings; unicode support will be added in PHP 6. Many high profile open source projects ceased to support PHP 4 in new code as of February 5, 2008, due to the GoPHP5 initiative, provided by a consortium of PHP developers promoting the transition from PHP 4 to PHP 5. |
| |
| Release history |
| |
| Version |
Release date |
Notable changes |
| PHP 1.0 |
June 8, 1995 |
Officially called "Personal Home Page Tools (PHP Tools)". This is the first use of the name "PHP". |
| PHP 2.0 |
April 16, 1996 |
Considered by its creator as the "fastest and simplest tool" for creating dynamic web pages. |
| PHP 3.0 |
June 6, 1998 |
Development moves from one person to multiple developers. Zeev Suraski and Andi Gutmans rewrite the base for this version. |
| PHP 4.0.0 |
May 22, 2000 |
Added more advanced two-stage parse/execute tag-parsing system called the Zend engine. |
| PHP 4.1.0 |
December 10, 2001 |
Introduced the superglobals ($_GET, $_POST, $_SESSION, etc.) |
| PHP 4.2.0 |
April 22, 2002 |
Disabled register_globals by default. Data received over the network is not inserted directly into the global namespace anymore, closing possible security holes in applications. |
| PHP 4.3.0 |
December 27, 2002 |
Introduced the CLI, in addition to the CGI. |
| PHP 4.4.0 |
July 11, 2005 |
Added man pages for phpize and php-config scripts. |
| PHP 5.0.0 |
July 13, 2004 |
Zend Engine II with a new object model. |
| PHP 5.1.0 |
November 24, 2005 |
Performance improvements with introduction of compiler variables in re-engineered PHP Engine. |
| PHP 5.2.0 |
November 2, 2006 |
Enabled the filter extension by default. |
|
|
|
|
| Click here to submit your project requirements to Option Matrix, India. |
| Back to top |
 |
| PHP Usage and comparison |
|
|
| PHP is a general-purpose scripting language that is especially suited for web development. It is the fourth most popular computer programming language, ranking behind Java, C, and Visual Basic. PHP generally runs on a web server, taking PHP code as its input and creating web pages as output. It can also be used for command-line scripting and client-side GUI applications. PHP can be deployed on most web servers, many operating systems and platforms, and can be used with many relational database management systems. It is available free of charge, and the PHP Group provides the complete source code for users to build, customize and extend for their own use. |
|
| PHP primarily acts as a filter, taking input from a file or stream containing text and/or PHP instructions and outputs another stream of data; most commonly the output will be HTML. It can automatically detect the language of the user.From PHP 4, the PHP parser compiles input to produce bytecode for processing by the Zend Engine, giving improved performance over its interpreter predecessor. |
|
| Originally designed to create dynamic web pages, PHP's principal focus is server-side scripting, and it is similar to other server-side scripting languages that provide dynamic content from a web server to a client, such as Microsoft's ASP.NET system, Sun Microsystems' JavaServer Pages, and mod_perl. PHP has also attracted the development of many frameworks that provide building blocks and a design structure to promote rapid application development (RAD). Some of these include CakePHP, PRADO, Symfony and Zend Framework, offering features similar to other web application frameworks. |
|
| The LAMP architecture has become popular in the web industry as a way of deploying web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL, although the P may also refer to Python or Perl. |
|
| As of April 2007, over 20 million Internet domains were hosted on servers with PHP installed, and PHP was recorded as the most popular Apache module. |
|
| General comparison with PHP |
|
| The following table compares general and technical information for a selection of commonly used programming languages |
|
| Language |
Paradigm(s) |
Standardized? |
| ActionScript 3.0 |
imperative, object-oriented, event-driven |
Yes, ECMA |
| APL |
array-oriented |
Yes, ISO |
| BASIC |
procedural |
Yes, ANSI |
| C |
imperative |
Yes, ANSI C89, ISO C90/C99 |
| C++ |
imperative, object-oriented, generic |
Yes, ISO |
| C# |
imperative, object-oriented, generic, reflective |
Yes, ECMA, ISO |
| COBOL |
imperative, object-oriented |
Yes |
| ColdFusion |
procedural, object-oriented |
No |
| Groovy |
imperative, object-oriented, aspect-oriented |
No |
| Java |
imperative, object-oriented, generic, reflective |
No |
| JavaScript |
imperative, object-oriented, functional, |
Yes |
| Modula-2 |
imperative, generic |
Yes, ISO/IEC 10514-1:1996 |
| Modula-3 |
imperative, object-oriented, generic |
No |
| Objective-C |
imperative, object-oriented, reflective |
Yes |
| Object Pascal (Delphi) |
imperative, object-oriented, generic |
No |
| Perl |
procedural, reflective, functional, object-oriented |
No |
| PHP |
imperative, object-oriented, reflective |
No |
| Python |
imperative, object-oriented, functional, aspect-oriented, reflective |
No |
| Ruby |
imperative, object-oriented, aspect-oriented |
No |
| S-Lang |
imperative, procedural |
No |
| Scala |
object-oriented, functional, generic |
No |
| Visual Basic |
component-oriented, event-driven |
No |
| Visual Basic .NET |
object-oriented, event-driven |
No |
|
|
|
|
| Click here to submit your project requirements to Option Matrix, India. |
| Back to top |
 |
| Zend Framework and PHP |
|
|
| Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework-often referred to as ZF-is developed with the goal of simplifying web development while promoting best practices in the PHP developer community.
ZF's use-at-will architecture allows developers to reuse components when and where they make sense in their applications without requiring other ZF components beyond minimal dependencies. There is therefore no single development paradigm or pattern that all Zend Framework users must follow, although ZF does provide components for the MVC and Table Gateway design patterns which are used in most ZF applications. Zend Framework provides individual components for many other common requirements in web application development, including authentication and authorization via access control lists (ACL), application configuration, data caching, filtering/validation of user-provided data for security and data integrity, internationalization, interfaces to AJAX functionality, email composition/delivery, Lucene-format search indexing and querying, and all Google Data APIs along with many other popular web services. Because of their loosely coupled design, ZF components can be used relatively easy alongside components from other PHP web application frameworks. |
|
| Zend's success depends on a successful, vibrant and engaged open-source community built around PHP. To help with this Zend has provided leadership, support, development & hosting resources and other support to many open source projects including core PHP, frameworks, tools and community sites. Zend provides thousands of hours and significant financial resources to help the projects on this page. Think of them as Zend's way to stay involved with the community of developers and companies who build solutions using PHP. |
|
|
|
| Click here to submit your project requirements to Option Matrix, India. |
| Back to top |
|