Source for file Alia.php

Documentation is available at Alia.php

  1. <?php
  2. /**
  3.  * Main include for Alia
  4.  * @author Jordan Wambaugh <jordan@wambaugh.org>
  5.  * @since 2-25-08
  6.  * @package Alia
  7.  */
  8.  
  9.  
  10.  
  11.  
  12.  
  13. /**
  14.  * Load Dependancies
  15.  */
  16. require_once 'ALoader.php';
  17. require_once 'AObject.php';
  18. require_once 'AConnection.php';
  19. require_once 'AApplication.php';
  20. Alia::setLibPath(dirname(__FILE__));
  21.  
  22. /**
  23.  * Facade for main Alia interface.
  24.  * @author Jordan Wambaugh <jordan@wambaugh.org>
  25.  * @package Alia
  26.  * @subpackage Core
  27.  * @since 2-25-08
  28.  */
  29. class Alia{
  30.     
  31.     
  32.     /**
  33.      * Connects a slot (javascript, PHP, or both) to a signal.
  34.      * @author Jordan Wambaugh <jordan@wambaugh.org>
  35.       * @since 2-25-08
  36.      * @param AObject The object emitting the signal
  37.      * @param string The signal being emitted from the object
  38.      * @param AObject|nullThe object receiving the signal (null id none)
  39.      * @param string|nullThe method of the object (the slot) to receive the signal
  40.      * @param string|nullThe javascript to execute when the signal is emitted (if any)
  41.      * @return null 
  42.      * @access public
  43.      */
  44.     public static function connect(AObject $source,  $signal$target,  $slotMethod ,$jscript=null{
  45.         $connection =new AConnection($target,$slotMethod,$source,$signal,$jscript);
  46.         AConnectionRegistry::instance()->addConnection($connection);
  47.         $source->addConnection($connection);
  48.     // end of member function connect
  49.  
  50.     
  51.     /**
  52.      * Helper function to start the AApplication
  53.      *
  54.      * Execute this function to render your application.
  55.      * This is usually the last function called in an Alia application.
  56.      */
  57.     public static function run(){
  58.         if(!isset($_SESSION)){
  59.             session_start();
  60.         }
  61.         AApplication::instance()->run();
  62.     }
  63.     
  64.     /**
  65.      * Sets the main widget for the application
  66.      *
  67.      * @param AWidget $mainWidget 
  68.      */
  69.     public static function setMainWidget(AWidget $mainWidget){
  70.         AApplication::instance()->setMainWidget($mainWidget);
  71.     }
  72.  
  73.     
  74.     /**
  75.      * Sets the location of Alia's lib directory into the loader.
  76.      *
  77.      * This is normall done automatically, based off the location of Alia.php
  78.      * 
  79.      * @param mixed $path 
  80.      * @static
  81.      * @access public
  82.      * @return void 
  83.      */
  84.     public static function setLibPath($path){
  85.         ALoader::instance()->setLibPath($path);
  86.     }
  87.  
  88.     /**
  89.      * loads the alia front code - essential for ajax funcitonality
  90.      *
  91.      * The front script handles all ajax calls and javascript includes required for Alia.
  92.      * It is essential to have a front script in your document root, normally called "front.php"
  93.      * (a different name may be used, but front.php is the default. See AApplication for
  94.      * information on how to change it). This script should include Alia.php and then call this function.
  95.      * everything else will be handled by Alia fro that point.
  96.      */
  97.     public static function loadFront(){
  98.         /**
  99.          * Start the session if not already started 
  100.         */
  101.         if(!isset($_SESSION)){
  102.             session_start();
  103.         }
  104.  
  105.  
  106.         ALoader::instance()->includeFile('AliaFront.php');
  107.     }
  108.     
  109.     /**
  110.      * Sends javascript to the output buffer.
  111.      *
  112.      * Call this function when you want to send javascript to the client to be executed.
  113.      * 
  114.      * @param string $script 
  115.      * @access public
  116.      * @return void 
  117.      */
  118.     public static function sendJScript($script){
  119.         AJScriptBuffer::instance()->addJScript($script);
  120.     }
  121.  
  122.  
  123.     /**
  124.      * Adds a search path to Alia's loader (to automatically load your custom widgets, etc)
  125.      *
  126.      * @param mixed $path 
  127.      * @static
  128.      * @access public
  129.      * @return void 
  130.      */
  131.     public static function addIncludePath($path){
  132.         ALoader::instance()->addPathToBeginning($path);
  133.     }
  134.  
  135. }
  136.  
  137. ?>

Documentation generated on Fri, 11 Jul 2008 13:28:41 -0400 by phpDocumentor 1.4.2