players - php layers framework

players is a php 5 open source framework that supplies tools for faster development, w3c standards compliance and promotes good web developing and designing practices such as separation between strucure, presentation and behavior layers (mvc) and introduces a few useful resources present in other languages such as jsp and, and frameworks like prado. Its main features are:

object oriented

players framework uses php's 5 object model and full support for oop programming. It also provides a package system and server side dom tree. Everything in the framework is done throught object manipulation which should improve your pages internal structure organization. The framework is composed of about 20 core classes, plus the classes related to server side dom.

tag libraries

Also known as simple tags in jsp, or user controls

In the players framework, every tag in the page and the page itself has a matching object and class behind it. This allows separation between the structure of the page and is behavior, that is, the separation between the html part and the php part in different files. Besides supporting plain html tags, players also supports custom tags with added functionality, such as automatic completion of attributes and template support.

It also has a number or prebuilt tags with added functionality, and new ones can be created with few steps. They are translated to standard html tags before rendering the page. It is possible for instance, to build a set of high level tags such as menu, sidebar, rotator, accordion, pagination. Or to write a set that matches, let's say, the html 5 language, and make it translate to a standard xhtml 1.1 page.

event driven programming and server side events

A framework wouldn't fully support oop without providing a high level way of manipulating page requests and life cycles. In players, this is done throught server side events. It is possible to assign actions to be performed on page requests, page reloads, form submissions, different button clicks and also on server side dom events like insertion and removal of nodes.

markup validation and final touches

Every class that comes with players outputs valid markup by performing markup validation and node nesting verification automatically. Tag reordering is also done when needed. For instance, the body tag will always be put after the head tag, even if it is not in this order in your source code. The same goes for thead, tfoot and tbody, fieldset and legend, etc. This ensures spec conformity and facilitates page indexing (white hat seo).

Additionally, because players has a strong commitment to enforce separation between behavior and structure, it does not mixes inline script tags and hidden input fields with the rest of the page markup, maintaining it lighter, cleaner and easier to read.

It also provides an option to eliminate unecessary whitespaces to reduce page size, and at the same time, avoid a few css headaches related to that (when using display: inline for instance).

Borrowing from jspx and, developer hidden comments and instructions inside html are possible, while still maintaining valid xml markup . Simply use the syntax <!--/* */--> for comments, and <!--@ --> for instructions. These are never rendered for the final user.

players for users


At the moment, files can only be accessed through Mercurial at You can also browse the repository.


Have something to say about players? Collaborate by discussing it in the forums.

players for framework developers

join the project

To join the project, contact the project administrators, as shown on the project page, or you can always fork you!


This project is not the same as php layers menu.

project web hosted byGet PHP Layers framework at Fast, secure and Free Open Source software downloads