/poof

Programmatic Orthogonal Object-oriented Framework

Primary LanguageJavaScriptApache License 2.0Apache-2.0

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 returns new 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

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:

Future Improvements

Planning on including features from: