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.
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.
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.
- 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.
- The PHP5 function
__autoload() is defined such that any file, anywhere in
the full include_path with the name
class.class_name.php will be autoloaded when an object with a name of
class_name is instantiated.
- 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.
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 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:
To use xajax, include the directory
/usr/share/xajax in your include_path.
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
PO Box 126
Leander, TX 78646