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 asp.net, and frameworks like prado. Its main features are:
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.
Also known as simple tags in jsp, or user controls asp.net.
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.
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.
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 asp.net, 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.
At the moment, files can only be accessed through Mercurial at http://players.hg.sourceforge.net:8000/hgroot/players. You can also browse the repository.
Have something to say about players? Collaborate by discussing it in the forums.
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.