Customer Services

About FMP Computer Services
FMP Services and Rates
FMP Customer Links
FMP WebMail
My FMP Account
Pay Online

LAMP Programming on FMP's Serevers


FMP does not employ a commercial programming UI such as cPanel, but instead provides direct access to the filesystem via FTP. There are a number of enhancements and properties of your file space of which you should be aware if you plan to do any PHP programming on a website at FMP.

General Information:

The current full version of PHP running on the server can be determined by accessing http://www.fmp.com/phpinfo.php. A number of libraries and custom configuration standards are available for your use. These include:

If you need MySQL databases established, please request them. There is not charge to Premium Web Service customers to set up a reasonable number of MySQL database and set permissions for them. If your development task requires multiple developers to have independent access (with independent auth tokens) to the same file and directory set, please request this and it will be set up for you at no charge.

Custom FMP Libraries and Configuration:

PHP5 pages at FMP may take advantage of some convenient configuration options. These are automatic and a minimal amount of setup is required to use them.

  1. The include_path is prepended with the directory fmplib off of the current DocumentRoot. If you create this directory, any class definitions or included/required files will be searched for first in this directory. You may put your class definition files in this directory, with appropriate filenames (see below), and the classes therein will be automatically available to your application.

  2. The PHP5 function __autoload() is defined such that any file, anywhere in the full include_path with the name class.class_name.inc or class.class_name.php will be autoloaded when an object with a name of class_name is instantiated.

  3. A number of custom classes and functions are available for working with databases, sessions, user variables, authentication and permissions and for sanitizing form input. Other classes or functions may be added in time. See the full code for all these classes and functions, and the formatted class and method documentation which fully documents class variables, methods and other function calls.

    Classes may be instantiated as noted in (b) above, e.g. because class.fmplib_db.inc exists in the include_path, the class fmplib_db may instantiated by naming it as the defining class of an object or as as the parent class in a derived class definition.

    The file sanitize.inc contains a short function to test form input for validity. The file must be explicitly included, although no path is required in the include statement.

    All classes with names starting with "fmplib" are functional equivalents of similar classes in PHPlib but are based on PEAR classes. They can generally be substituted as equivalent base classes in PHP applications which depend on PHPlib.

PHPlib:

PHPlib is an object-oriented application development toolkit for PHP. It is primarily of benefit to Web application developers, but contains classes which are useful to other PHP developers as well. The full documentation for PHPlib is available at http://www.sanisoft.com/phplib/manual/. Although PHPlib is not under active development, it is still a useful toolkit.

To use PHPlib in your PHP pages, modify the PHPlib file local4.inc and place it in your DocumentRoot and follow the directions in the documentation. You must also create the the directory fmplib in your DocumentRoot and create the file local.inc in this directory containing the line:

include "/usr/share/phplib/prepend.php";

Xajax:

Xajax is a toolkit to implement AJAX (Asynchronous Javascritp And XML) in your program. AJAX allows Javascript to communicate directly with the server, using a special Javascript object XMLHttpRequest. With this object, your Javascript can get information from the server without having to load a new page. See the xajax documentation for more information.

To use xajax, include the directory /usr/share/xajax in your include_path.

Smarty:

Smarty is a template engine and presentation framework that provides a PHP programmer with tools to automate tasks commonly dealt with at the presentation layer of an application. Smarty is not a simple tag-replacing template engine. Although it can be used for such a simple purpose, its focus is on quick and painless development and deployment of your application, while maintaining high-performance, scalability, security and future growth.

Full documentation on the Smarty template engine is available at http://www.smarty.net/docs.php.

To use Smarty in your website or web application, set up your filespace according to the Smarty documentation and declare an instance of the Smarty class (e.g. $smarty = new Smarty();) in your application. You may invoke the standard methods and variables of this object as needed, as described in the Smarty docs. Note that you must have fmp_prepend5.inc as your auto_prepend_file, as described above.

---------------------------------------------------------------------------------------
FMP Computer Services
Lindsay Haisley, senior administrator
fmouse@fmp.com
PO Box 126
Leander, TX 78646
Phone: 512.496.7118