PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP is now installed on more than 244 million websites and 2.1 million web servers. Originally created by Rasmus Lerdorf in 1995, the reference implementation of PHP is now produced by The PHP Group. While PHP originally stood for Personal Home Page, it now stands for PHP: Hypertext Preprocessor, a recursive acronym.
PHP code is interpreted by a web server with a PHP processor module which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. It has also evolved to include a command-line interface capability and can be used in standalone graphical applications.
PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP. PHP can be deployed on most web servers and also as a standalone shell on almost every operating system and platform, free of charge.
The PHP language was originally implemented as an interpreter, and this is still the most popular implementation. Several compilers have been developed which decouple the PHP language from the interpreter. Advantages of compilation include better execution speed, static analysis, and improved interoperability with code written in other languages.
PHP compilers of note include Phalanger, which compiles PHP into Common Intermediate Language (CIL) bytecode, and HipHop, developed at Facebook and now available as open source, which transforms the PHP Script into C++, then compiles it, reducing server load up to 50% .
PHP source code is compiled on-the-fly to an internal format that can be executed by the PHP engine. In order to speed up execution time and not have to compile the PHP source code every time the web page is accessed, PHP scripts can also be deployed in executable format using a PHP compiler.
Code optimizers aim to enhance the performance of the compiled code by reducing its size, merging redundant instructions and making other changes that can reduce the execution time. With PHP, there are often opportunities for code optimization. An example of a code optimizer is the eAccelerator PHP extension.
Another approach for reducing compilation overhead for PHP servers is using an opcode cache. Opcode caches work by caching the compiled form of a PHP script (opcodes) in shared memory to avoid the overhead of parsing and compiling the code every time the script runs. An opcode cache, Zend Opcache, is built in to PHP since version 5.5
Development and Community
PHP includes free and open source libraries with the core build. PHP is a fundamentally Internet-aware system with modules built in for accessing File Transfer Protocol (FTP) servers, many database servers, embedded SQL libraries such as embedded PostgreSQL, MySQL, Microsoft SQL Server and SQLite, LDAP servers, and others. Many functions familiar to C programmers such as those in the stdio family are available in the standard PHP build.
PHP allows developers to write extensions in C to add functionality to the PHP language. These can then be compiled into PHP or loaded dynamically at runtime. Extensions have been written to add support for the Windows API, process management on Unix-like operating systems, multibyte strings (Unicode), cURL, and several popular compression formats. Other features include integration with IRC, dynamic generation of images and Adobe Flash content, and even speech synthesis. The language's core functions such as those dealing with strings and arrays are also implemented as an extension. The PHP Extension Community Library (PECL) project is a repository for extensions to the PHP language. PDO - (PHP Data Objects) is an interface for accessing databases.
Zend Technologies provides a certification exam for programmers to become certified PHP developers.
- Use :
PHP is a general-purpose scripting language that is especially suited to server-side web development where PHP generally runs on a web server. Any PHP code in a requested file is executed by the PHP runtime, usually to create dynamic web page content or dynamic images used on websites or elsewhere. It can also be used for command-line scripting and client-side graphical user interface (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 (RDBMS). Most web hosting providers support PHP for use by their clients. 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 acts primarily as a filter, taking input from a file or stream containing text and/or PHP instructions and outputting another stream of data; most commonly the output will be HTML. Since 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 now focuses mainly on 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, Sun Microsystems' JavaServer Pages, and mod_perl. PHP has also attracted the development of many software frameworks that provide building blocks and a design structure to promote rapid application development (RAD). Some of these include CakePHP, Symfony, CodeIgniter, Yii Framework, 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, Perl, or some mix of the three. Similar packages are also available for Windows and OS X, then called WAMP and MAMP, with the first letter standing for the respective operating system. Although both PHP and Apache are provided as part of the Mac OS X base install, users of these packages seek a simpler installation mechanism that can be more easily kept up to date.
As of April 2007, over 20 million Internet domains had web services hosted on servers with PHP installed and mod_php was recorded as the most popular Apache HTTP Server module. PHP is used as the server-side programming language on 75% of all websites whose server-side programming language is known, and PHP is the most-used open source software within enterprises. web content management systems written in PHP include MediaWiki, Joomla, eZ Publish, SilverStripe, WordPress, Drupal, Moodle, the user-facing portion of Facebook, and Digg.
- Security :
About 30% of all vulnerabilities listed on the National Vulnerability Database are linked to PHP. These vulnerabilities are caused mostly by not following best practice programming rules; technical security flaws of the language itself or of its core libraries are not frequent (23 in 2008, about 1% of the total). Recognizing that programmers make mistakes, some languages include taint checking to automatically detect the lack of input validation which induces many issues. Such a feature is being developed for PHP, but its inclusion in a release has been rejected several times in the past.
There are advanced protection patches such as Suhosin and Hardening-Patch, especially designed for web hosting environments.
- EasyPHP :
EasyPHP is a software bundle for Windows enabling PHP and MySQL development on a developer's personal computer.
Launched in 1999, EasyPHP was the first WAMP software bundle available. EasyPHP installs web server services onto the Windows computer and allows quick-and-easy development of PHP and MySQL on localhost (also known as 127.0.0.1). The package includes an Apache server, a MySQL database, and the PHP extension.
The package is deployable either on a PC or a USB drive. The configuration is done automatically by the application with no interaction from the user.
EasyPHP is extended with modules (WordPress, Spip, Prestashop, Drupal, Joomla! ...). Modules are installed automatically in the "modules" folder of EasyPHP.
- Autodetect install profile
- Autodetect available port
- Components management : several versions of PHP (or several times the same) can be installed
- PHP version management : possibility to switch from one to another with a single click
- PHP configuration Manager (max execution time, error reporting, upload max filesize...)
- MySQL configuration Manager (storage engine : InnoDB/MyISAM...)
- Apache configuration Manager (timezone, available ports...)
- Alias Manager (add/delete)
- Virtual Hosts Manager (add/delete/activate/deactivate)
- PHP-GTK :
PHP-GTK is a set of language bindings for PHP which allow GTK+ GUI applications to be written in PHP. PHP-GTK provides an object-oriented interface to GTK+ classes and functions.
PHP-GTK was originally conceived by Andrei Zmievski, who is also actively involved in the development of PHP and the Zend Engine. The idea was received well by the PHP community, and more people started to get involved with the project. James Moore and Steph Fox were among the first to join in, contributing a great deal to PHP-GTK through their documentation efforts, and Frank Kromann - also from the PHP development team - supplied Windows binaries for the project.
The first version of PHP-GTK was released in March 2001. More people began to get involved, and several extensions were contributed introducing new widgets, such as Scintilla and GtkHTML. PHP-GTK 1.0 was released in October 2003 alongside several extensions - including a wrapper for libglade, which allowed the cross-platform Glade UI builder to be used in creating PHP-GTK applications.
PHP-GTK was quickly adopted by the PHP community. Several applications were developed, and a small job market even emerged. Zmievski and Fox are still working hard on the project, with Fox now maintaining PHP-GTK for Windows.
Development is in full swing for the next major version of PHP-GTK. PHP-GTK 2 fully utilizes PHP 5's powerful object model support, and brings the improved portability of GTK 2.6 as well as its new set of widgets. The project also has some new extensions such as GtkSourceView, which provides a rich source editor widget, alongside some of the old favourites.
Documentation for PHP-GTK 2 is filling out rapidly. Several articles and tutorials have been written on the topic, and around half the classes have been fully documented. Scott Mattocks, an active member of the PHP-GTK documentation group, has also written a book on the subject of PHP-GTK programming.
Several tools have sprung up that assist the simple deployment of PHP-GTK applications. PHP compilers such as PriadoBlender and Roadsend PHP (Currently only compatible with PHP-GTK 1, while latest snapshot includes PHP-GTK 2) enable the compilation of applications written in PHP-GTK to a standalone binary executable. Alan Knowles' PECL package, bcompiler, also allows compilation of PHP into bytecode to hide the source code.
- WinBinder :
WinBinder is an open source extension to PHP, the script programming language. It allows PHP programmers to easily build native Windows applications, producing quick and rewarding results with minimum effort. Even short scripts with a few dozen lines can generate a useful program, thanks to the power and flexibility of PHP.
- Large installed base of PHP programmers.
- No compiling and linking steps necessary: just code and run.
- Access to the vast range of existing PHP functions and extensions, including databases, graphics, web functions, XML, PDF, and much more.
- A small set of WinBinder functions encapsulates many complex aspects of the Windows API and makes programming for Windows an easy task.
- Provides 100% native Windows classes and controls.
- Interfaces directly to the Window API. This means fast execution, no extra libraries and no installation required.
- Supports both procedural and object-oriented programming models.
- High performance, compares favorably to most scripting languages.
- Produces standalone applications that can be easily installed and removed with no reboot.
- Small footprint. A simple Windows application, complete with the PHP runtime and SQLite extension, is smaller than 700 kB (zipped).
- A database-independent framework allows easy coding (no SQL knowledge is necessary) and smooth integration with the WinBinder code.
- No database server required if using SQLite.
- Does not need to use to the Windows registry, but may use it if necessary.
PHP is a very popular scripting language that is used mostly for web development but is gaining popularity as a general-purpose scripting language.
WinBinder itself is comprised of a DLL (which is the actual PHP extension), a small set of PHP scripts and some auxiliary files. Of course a minimal PHP installation is required as well.
WinBinder takes advantage of the relatively new CLI SAPI (Command Line Interface / Server Application Programming Interface) that was officially introduced in PHP 4.3.0. A custom-made DLL (a Windows library) extends PHP so it is possible to use the language to build a Windows development platform. The library includes code to manage windows, controls, messages, timers, the registry, GDI (Windows' Graphics Device Interface) and more. A set of low-level functions allows the programmer to access any Windows function, declare structures and access memory directly.
Controls can be created directly by calling WinBinder functions or via RC files generated from a third-party form editor. These resource files can be parsed in real time, avoiding the need for a separate compilation step.
A callback mechanism allows the application script to easily process Windows messages generated by controls and timers, which are translated to simple callback events that can be handled easily by the PHP code using a single switch statement. Optional filters provide additional features like mouse and keyboard message processing.
OS and language abstraction
The net effect using a two-layer model is the creation of a much simplified interface to the Windows API due to the heavy abstraction that results from this approach. For example, to assign an icon to an application window, the programmer calls the wb_set_image() function and passes a window handle and the icon file name to it. If an index is added, a DLL or executable may be used as the icon resource. The same function is also used to assign a bitmap to a static control, an image list to a treeview or listview, and so on. Thus the most intimidating aspects of the Windows API, with its myriad of functions and messages, are hidden from the high-level programmer.
Another key benefit of this approach is the potential to create bindings for other script languages by replacing the PHP layer with something else. (A Lua binding comes to mind.) The API layer also has the potential to be embedded in an application or used as a standalone DLL, although nobody seems to have attempted this yet. In this case, WinBinder would act as a very lightweight framework between the application (probably coded in C or C++) and Windows.
Replacing the Windows API layer with some other OS, although possible in theory, seems to be overly complex and is not among the goals of this project.
- wxPHP :
wxPHP stands for "wxWidgets for PHP" and is a PHP extension that wraps the wxWidgets library, which allows to write multi-platform desktop applications that make use of the native graphical components available to the different platforms. It supports the three major operating systems: Windows, Linux and Mac OS X by using the PHP language. Applications are written in PHP language, and since it's an interpreted language, it does not require an intermediate compilation step in order to run the application, provided the PHP interpreter has the extension available.
Near 2003 a group of enthusiastic people started writing on mailing lists and forums presenting the idea of a PHP extension that wrapped the wxWidgets library in a similar way that PHP-GTK does for GTK+. A SourceForge project was created and many people joined in an effort to move the cause forward and make it a reality. Despite the will of project members, the same wasn't going anywhere until Mário Soares decided to join in. After the join, the first commits were done to the CVS repository on sourceforge. The first commits consisted of wrapping the wxApp class, wxFrame and some other basic controls, this is when wxPHP first saw the light. Inspired on wrapper generators like SWIG, development was started for a simple code generator that read the output of GCCXML ran over wxWidgets and transformed into a serialized PHP array. This helped save a lot of time on the monotonous task of writing the same code again and again for each class and its methods. After having some basic functionality and controls, an application was written using wxPHP itself, to assist the code generator on the selection of class methods that it could handle correctly.
In August 2011 Jefferson González wrote an email to current maintainer offering to make a website in order to boost wxPHP presence as attract more people and contributors. When the website was up and running, he started playing with the wxPHP sources. Later, decided to enable more methods and classes, discovering on the way that many features weren't supported by the code generator and extension itself. After several emails previous developer came with the idea of parsing the XML output generated by Doxygen from the wxWidget documentation. He took the task granted and started improving the code generator until it was re-written, adding lacking documentation and many features that would enable adding more wxWidgets functionality.
wxPHP now supports around 400 wxWidgets classes and thousands of methods, making it pretty usable to develop a desktop commercial application. The project source code is now hosted on GitHub. A reference generator was written that serves as the documentation of the functionality supported by the wxPHP extension. Also an interface generator has been written in order to get code completion on IDE's like NetBeans and Eclipse. Planning is undergoing to re-write the code generator yet again using a modular and object oriented approach that permits other people to use it to generate code for other PHP wrappers.
Support for PHP code generation was added to wxFormBuilder in order to easily create applications, and get people not familiar to the library to get up to speed on learning it.
- PHP-Qt :
PHP-Qt is an extension for PHP5 that aims to write software with the Qt toolkit. It provides an object-oriented interface to the Qt4 Framework and allows users to write Qt applications in the PHP language.
- Leonsoft PHP Development :
Leonsoft is a highly experienced and acknowledged for developing state-of-the-art websites as well as exquisite web applications in PHP. We have been able to create a number of exclusive PHP Web Development solutions for our clients all over the world. We have extra-ordinary expertise in extensively-used general purpose scripting that is especially suited for Web development in PHP and can be implanted into HTML with highest efficiency. We also have a team of expert PHP Web Developers who are widely experienced with all the necessary acquired skill-sets to develop extensive PHP websites. We offer exclusive PHP Web Development Services for Offshore Outsourcing PHP Projects and Customize PHP Web Application Development for clients in India and abroad in accordance to their customized business requirement and usability criteria.
We offer PHP Web Development services for our clients through our expert team of PHP Web Developers, PHP Website Designers & PHP Web Programmers. With our team's in-depth understanding of PHP based frameworks like Cake PHP and Zend. We are able to develop the much customized websites seeking and pursuing the exact taste of our clients, and their precise business requirements. We develop a variety of PHP web developments. These exclusive web developments include Social Networking Sites for niches, customized and well-designed job portals and Intranet Portals, Our expertise in design and development also include Custom Web Applications, CMS Driven Websites and various E-commerce sites for our client's specific business and professional requirements.
Our experienced team is also well-versed and highly experienced in open source like Ecommerce, Joomla, Drupal, Php, PhpFoX etc, which provide them with the advantage to choose among a wide range of framework amongst their expertise that helps us to build the website with the appropriate framework needed for your customized requirement and need. We also offer expertise knowledge in developing tools for face book, which further enhances our exclusive web development experience. Our extensive understanding and work experience in LAMP (Linux, Apache, Mysql, and PHP) offers our clients with outstanding technical efficiency to match their exclusive demands of PHP web development.
Our team of experienced and expert professionals pay extra attention in creating the most magnificent websites by understanding the clients exact demands in terms of requirement and need for the websites by the clients, while effortlessly taking them through the entire lifecycle for developing these exquisite websites and web applications. Our team also ensures that this PHP web development is executed with the best of our extra-ordinary technical efficiency and out-of-the-world designing skill-set. Our highly qualifies team compliance with good practices significantly increasing both efficiency and quality of the Software Product, websites and web applications that we exclusively developed.
- RIA Applications
- WOA Architecture
- Content Writing
- Php Solutions
- Lamp Solutions
- Dotnet Solutions
- J2ee Solutions
- Portal Solutions
- Joomla - Mvc
- Struts 1.3
- Struts 2.0
- Java Server Faces
- Spring Mvc
- Spring Webflow
- Ruby on Rails
- Moo Tools
- Adobe Flex
- Yahoo! User Interface Library (YUI)
- GWT (Googel Web Toolkit)
- SEO Optimization
- SEO Branding
- SEO Consulting
- PPC (Pay Per Click )
- SMS Service
- Web Hosting
A solid working knowledge of productivity software and other IT tools has become a basic foundation for success in virtually any career. Beyond that, however, I don't think you can overemphasise the importance of having a good background in maths and science.....
"Every software system needs to have a simple yet powerful organizational philosophy (think of it as the software equivalent of a sound bite that describes the system's architecture)... A step in thr development process is to articulate this architectural framework, so that we might have a stable foundation upon which to evolve the system's function points. "
"All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change"
"The ultimate measurement is effectiveness, not efficiency "
"It is argued that software architecture is an effective tool to cut development cost and time and to increase the quality of a system. "Architecture-centric methods and agile approaches." Agile Processes in Software Engineering and Extreme Programming.
"Java is C++ without the guns, knives, and clubs "
"When done well, software is invisible"
"Our words are built on the objects of our experience. They have acquired their effectiveness by adapting themselves to the occurrences of our everyday world."
"I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby. "
"The best way to predict the future is to invent it."
"In 30 years Lisp will likely be ahead of C++/Java (but behind something else)"
"Possibly the only real object-oriented system in working order. (About Internet)"
"Simple things should be simple, complex things should be possible. "
"Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines."
"Model Driven Architecture is a style of enterprise application development and integration, based on using automated tools to build system independent models and transform them into efficient implementations. "
"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs. "
"Software Engineering Economics is an invaluable guide to determining software costs, applying the fundamental concepts of microeconomics to software engineering, and utilizing economic analysis in software engineering decision making. "
"Ultimately, discovery and invention are both problems of classification, and classification is fundamentally a problem of finding sameness. When we classify, we seek to group things that have a common structure or exhibit a common behavior. "
"Perhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world. "
"The entire history of software engineering is that of the rise in levels of abstraction. "
"The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist "
Core Values ?Agile And Scrum Based Architecture
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration.....more
Core Values ?Total quality management
Total Quality Management / TQM is an integrative philosophy of management for continuously improving the quality of products and processes. TQM is based on the premise that the quality of products and .....more
Core Values ?Design that Matters
We are more than code junkies. We're a company that cares how a product works and what it says to its users. There is no reason why your custom software should be difficult to understand.....more
Core Values ?Expertise that is Second to None
With extensive software development experience, our development team is up for any challenge within the Great Plains development environment. our Research works on IEEE international papers are consider....more
Core Values ?Solutions that Deliver Results
We have a proven track record of developing and delivering solutions that have resulted in reduced costs, time savings, and increased efficiency. Our clients are very much ....more
Core Values ?Relentless Software Testing
We simply dont release anything that isnt tested well. Tell us something cant be tested under automation, and we will go prove it can be. We create tests before we write the complementary production software......more
Core Values ?Unparalled Technical Support
If a customer needs technical support for one of our products, no-one can do it better than us. Our offices are open from 9am until 9pm Monday to Friday, and soon to be 24hours. Unlike many companies, you are able to....more
Core Values ?Impressive Results
We have a reputation for process genius, fanatical testing, high quality, and software joy. Whatever your business, our methods will work well in your field. We have done work in Erp Solutions ,e-commerce, Portal Solutions,IEEE Research....more
Why Choose Us ?
The intellectual commitment of our development team is central to the leonsoft ability to achieve its mission: to develop principled, innovative thought leaders in global communities.Read More
Today's most successful enterprise applications were once nothing more than an idea in someone's head. While many of these applications are planned and budgeted from the beginning.Read More
We constantly strive to redefine the standard of excellence in everything we do. We encourage both individuals and teams to constantly strive for developing innovative technologies....Read More
If our customers are the foundation of our business, then integrity is the cornerstone. Everything we do is guided by what is right. We live by the highest ethical standards.....Read More