# Getting Started

## how to begin with phpHtmlLib package

by Walter A. Boring IV
mailto:waboring@3gstech.com
© September 2005, Walter A. Boring IV
(phpHtmlLib 2.5.4)

# Table of Contents

## Installing

1. For most people that use Linux with Apache, the install will be very easy. You just need to copy the untared package directory phphtmllib-2.5.4 to your DOCUMENT_ROOT and rename the directory to 'phphtmllib'.

2. Then you just include the main include file inside phphtmllib.

3. phpHtmlLib is now installed

## Overview for the impatient

You can't wait to read the full documentation and tutorials, so you write few lines of code as below ...

- From the shell move the phphtmllib directory to your DOCUMENT_ROOT

- Create an include script.

      <?php
        $phphtmllib = $_SERVER["DOCUMENT_ROOT"] . "/phphtmllib";
        include_once($phphtmllib."/includes.inc");
      ?>

- phpHtmlLib is now installed and ready to be used.

## Introduction

I have tried to make the phpHtmlLib fairly easy to install and to use on anyone's current running site. There are a few assumptions I've made, but it shouldn't be a problem for 99% of the folks out there. I haven't tested the libs in a windows environment, as I don't have a M$ O.S. installed anywhere in my house. If you encounter any issues, please let me know. I welcome any and all feedback.

## Package Overview

phpHtmlLib provides 3 main classes to help you build Tags:

### Global Classes

- Container

  This class is nothing more then a container widget. It lets you add data into it, and it will render each item indented properly so it works with the rest of the libs.

- XMLTagClass

  This class is a child of the Container class and is for building and rendering an XML tag. This class is the base class for the HTMLTagClass.

- HTMLTagClass

  Base class for all HTML Tag classes. Tag class renders an html tag, its attributes, the content (if any), and close tag (if needed).

### Document/Page Classes

- XMLDocumentClass

  This class lets you build a complete xml document and render it.

- HTMLPageClass

  class the constructs and renders an entire HTML/XHTML document.

- PageWidget

  This child class of the HTMLPageClass is used to build content for an entire page. It uses the HTMLPageClass widget from phphtmllib to render the final output.

### HTML Widgets

- BaseWidget

  this is the base widget class, that all widgets are based off of. It provides some basic members and methods.

- CSSBuilder

  This class is a widget for constructing and rendering css. It exports API's for adding classes, ids and their attributes. It can render as either a stand alone foo.css type of file, with the appropriate httpd header, or as part of a style tag's content that lives as part of an html document.

- CSSContainer

  This class is a container for CSSBuilder objects. It is meant to make the theming of many CSSBuilder objects easy to manage.

### HTML Forms

- FormContent

  This class is used to build and render the form. It builds a form by creating FormElement objects which have automatic validation. It leaves the layout of the form up to the child class. It has a mechanism in place to automagically show a confirmation 'page' after the data has been submitted and validated. It also provides a hook for any 'back end' validation of data. Finally, it provides a function for handling the action of the form, which only gets call after ALL validation has passed.

- FormProcessor

  This is the main engine for the processing of forms. It builds the form tag, and calls the appropriate FormContent methods to build the FormElement's and validation, as well as backend processing to do the action after the data has been validated.

- FormValidation

  This is the base validation class that contains some basic FormElement validation methods. You will find that this class is rarely accessed directly.

- FormElement

  This is the base FormElement object. It can be single form field such as a text input field, or a complex object. All of the FE* classes are derived from this class.

Documentation generated on Thu, 1 Sep 2005 17:05:09 -0700 by phpDocumentor 1.3.0RC3