POOF
POOF is a Programmatic, Object Oriented, and Orthogonal Framework for PHP, using a non-conventional approach to Web development.
The purpose of this framework is to hide nearly all aspects of HTML, AJAX, and CSS inside high level generic objects, providing for rapid development and easy modifications without the conventional multi-file MVC or template approach.
If you want to create just a few quickly developed web pages with modern whizz-bang features, and would prefer easy modifications in a single php rather than templates and MVC, then POOF is just right.
Design Concepts
- High level code is extremely easy to read, compact, and correlates directly to result
- Object chains similar to EDEN allow flexibility and extensibility
- Many complex operations are reduced to a line or few of code
- Each class foobar has convenience function
foobar()
that returnsnew foobar()
- Use best practices, except where they a) detract from readability, b) slow development
- Instrumentation and diagnostics built in, so finding that bug or slow bit of code is a snap
Getting Started
- View the demo at poof.stg.net for coding examples
- Clone POOF to your project directory
mkdir myproject ; cd myproject
git clone https://github.com/stgnet/poof
cp poof/demo.php index.php
etc...
Hello World
A minimalistic code example:
require('poof/poof.php');
echo uiPage("Page Title")->Add(
uiContainer()->Add(
uiHero()->Add(
uiHeading("Hello, World!"),
uiParagraph("It works!")
)
)
);
Bug Reports, Feature Requests, Code Contributions
- Working Demonstration at poof.stg.net
- Report issues on GitHub
- Pivotal Tracker
- Source on github
- Documentation (still to come)
- Travis-CI
- GitTip
- Email scott@griepentrog.com
Class Types in POOF
- uiXXX - user interface components for programmatic html5 generation
- arXXX - array handling and manipulation
- dbXXX - database (SQL, CSV, etc) interface
- mlXXX - markup langage (nested tree structure)
- siXXX - singleton class (not true singleton, just convenience wrapper)
- pfXXX - poof base classes (and misc)
LICENSE
POOF is licensed under Apache License V2
Requirements
- POOF requires PHP 5.3 or later
Included Projects
POOF includes and uses code from these fine open source projects:
- jQuery for AJAX
- Twitter Bootstrap for CSS/HTML5
- Code Mirror for code viewing and editing
- XMPPHP for Jabber (Gtalk)
- Suin's PHP FTP Client
Future Improvements
Planning on including features from: