Reply to PHP Web Developer's Kit 2.01

Your name:

Reply:


Posted by phpdevkit on 06/08/07 05:20

The PHP Web Developer's Kit 2.01 is now available. Please come see
whether its number 1 design goal -- Make The Complex Simple -- was
achieved...

http://www.fotocar.com.mx/kit


---- A horizontal, tabbed dialog combining HTML, CSS and Javascript...

$ct = new container_tabbed() ;
$ct->add( "Tabbed" , "The Tabbed Container has 4 sizes..." ) ;
$ct->add( "Container" , "Everything is customizable..." ) ;
$ct->add( "Objects" , $inner_tabbed_container ) ;
$ct->output() ;


---- A vertical, double-sided tabbed dialog...

$vt = new container_tabbed_vertical2() ;
$vt->add( "Vertical" , "This is a vertical tabbed..." ) ;
$vt->add( "Tabbed" , "There are classes for tabs..." ) ;
$vt->output() ;


---- A table with caption, collapsed borders, alternating row colors
and checkboxes...

$t = new table_usingcss( "Customers" ) ;
$t->usecheckboxes() ;
$t->headers( "Name" , "Address" , "City" ) ;
$t->cells( "P. Smith" , "1419 E. Oak" , "Mexico City" ) ;
$t->cells( "R. Estabar" , "SM 23" , "Los Angeles" ) ;
....
$t->output() ;


---- Stacked containers...

$cs = new container_stacked() ;
$cs->add( "Stacked Container" , "This is a Stacked Container..." ) ;
$cs->add( "Exposure Methods" , "The panes may be exposed by..." ) ;
$cs->output() ;


---- Display content along an arc...

$arc = new container_cycle_arc() ;
$arc->add( "Default" , "Default is to arrange in a circle..." ) ;
....
$arc->output() ;


---- Or along one of 360 vectors...

$t2 = new container_cycle_vector() ;
$t2->add( "demo_life" , new image( "demo_life.bmp" ) ) ;
....
$t2->output() ;


---- A menu bar with or without (slightly) transparent panes...

$m = new menubar() ;
$m->addmenu( "Search" ) ;
$m->additem( "Google" , "http://www.google.com" ) ;
$m->additem( "Yahoo" , "http://www.yahoo.com" ) ;
....
$m->output() ;


---- Bookmarks...

new bookmark( "Chapter 7" , OUTPUT_NOW ) ;


---- Horizontal menu of links...

$hm = new menu_horizontal() ;
$hm->add( "Google" , "http://www.google.com" ) ;
....
$hm->output() ;


---- Navigation bar...

$navbar = new navigationbar() ;
$navbar->add( "Entertainment" , "fun.php" ) ;
$navbar->addsublink( "Movie" , "fun.php#movie" ) ;
$navbar->addsublink( "Music" , "fun.php#music" ) ;
$navbar->output() ;


---- Transition effects...

$barn = new container_ie() ;
$barn->setsize( $width , $height ) ;
$barn->setbarn() ;
$barn->addpane( "Click me to see the barn effect..." ) ;
$barn->addpane( "Click again to repeat effect..." ) ;
$barn->output() ;


---- Expanding container...

$expand = new container_expand( "Links" , $width ) ;
$expand->addexpandable( "Search" , $search_links ) ;
$expand->addexpandable( "Buy" , $buy_links ) ;
$expand->addexpandable( "Info" , "Like all..." ) ;
$expand->output() ;


---- Navigation Xtabs...

$x = new xtabs() ;
$x->add( "Blue" , $xtabs_object_blue ) ;
$x->add( "Blue2" , $xtabs_object_blue2 ) ;
....
$x->output() ;


---- A gradient bar of links in a dozen available shades...

$lb = new link_bar() ;
$lb->add( "Politics" , "politics.php" ) ;
$lb->add( "SciTech" , "scitech.php" ) ;
....
$lb->output() ;


---- EVERYTHING is an object

$div = new div() ;
$css = new css_div() ;
$font = new font() ;
$select = new select() ;
$textarea = new textarea() ;
$list = new list_unordered() ;
$form = new form() ;


---- All content may be a string or Kit object

$div = new div( "A string for content" ) ;
$div = new div( $kit_object ) ;
$div->add( "A string" ) ;
$div->add( $kit_object ) ;


---- Built-In CSS this easy...

$h1 = new h1( "CSS This Easy" ) ;
$h1->usecss() ;


---- Customized CSS...

$h1 = new h1( "CSS This Easy" ) ;
$css =& $h1->usecss() ;
$css->setfontsize( "large" ) ;


---- Entirely consistent interface

$c = new container() ;
$c = new container( $content ) ;
$c = new container( $content , $width ) ;
$c = new container( $content , $width , OUTPUT_NOW ) ;

$div = new div() ;
$div = new div( $content ) ;
$div = new div( $content , OUTPUT_NOW ) ;


---- Popup tooltips

new tooltip( "This is a tooltip..." , $width , OUTPUT_NOW ) ;


---- Design Goals

Number 1: Make the complex simple. Every object is an answer to the
same question: what is the shortest and simplest syntax needed to
create a working object?

Rapid-Protyping-Friendly: Just get it working, then observe and
refine.

Maximize many-to-one relationships: Care was taken, when possible, to
share a single CSS object among many instances of HTML objects. You
can, for instance, create a single paragraph object, customize its CSS
then output many HTML paragraph elements each with their own content
but all sharing a single CSS.

Highly Object-Oriented design - abstraction, classes, encapsulation,
modularity, constructors, code-reuse, objects, inheritance,
overriding.

Robust but easy to use via default argument values

Consistent naming conventions

Predictable and consistent method parameters - (e.g., all of the Kit's
HTML objects and containers take optional content for the first
parameter)

Optional arguments where practical

A get...() method for every set...() method; a deceptively significant
feature as it permits all objects to more easily share settings and
data with each other.

Minimum method arguments

Many methods available for easy customization.

Specific, narrow-purpose classes and methods (the KISS principal)

Interchangable components - the container class, for instance, uses
the Kit's HTML <div> object to bookend its content. You may, with a
simple override, create a new container class that uses almost any
other tag; all of the Kit's HTML objects are derived ultimately from
the same parent so it's plug-n-play.

W3C Compliant

IE Support (filters, effects, marquee, etc...) and all very simple to
use.

Everything is an object: a class for every HTML and CSS element (over
300 classes). Actually, there are a few Kit utility functions (not
within a class) to simplify development. One function, in particular,
called kitget(), takes an arbitrary number of strings and Kit objects
as parameters and combines everything into a single string; handy for
nesting and creating strings with lots of mixed decoration (i.e.,
bold, italic, code...)

Many table-driven constants to control default behavior

Lots of examples including an entire sample project.

----

http://www.fotocar.com.mx/kit

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация