| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- require_once(AMFPHP_BASE . "shared/app/BasicActions.php");
- require_once(AMFPHP_BASE . "shared/app/Constants.php");
- require_once(AMFPHP_BASE . "shared/app/Globals.php");
- require_once(AMFPHP_BASE . "shared/exception/MessageException.php");
- if(AMFPHP_PHP5)
- {
- include_once(AMFPHP_BASE . "shared/util/CompatPhp5.php");
- }
- else
- {
- include_once(AMFPHP_BASE . "shared/util/CompatPhp4.php");
- }
- /**
- * This basic gateway is a base class for all simple RPC types (that is, RPC which doesn't
- * allow batching)
- */
- class BasicGateway
- {
- function BasicGateway()
- {
- if(AMFPHP_PHP5)
- {
- //Set gloriously nice error handling
- include_once(AMFPHP_BASE . "shared/app/php5Executive.php");
- include_once(AMFPHP_BASE . "shared/exception/php5Exception.php");
- }
- else
- {
- //Cry
- include_once(AMFPHP_BASE . "shared/app/php4Executive.php");
- include_once(AMFPHP_BASE . "shared/exception/php4Exception.php");
- }
- $this->registerActionChain();
- }
-
- /**
- * Sets the base path for loading service methods.
- *
- * Call this method to define the directory to look for service classes in.
- * Relative or full paths are acceptable
- *
- * @param string $path The path the the service class directory
- */
- function setBaseClassPath($value) {
- $path = realpath($value . '/') . '/';
- $GLOBALS['amfphp']['classPath'] = $path;
- }
-
- function service()
- {
- //Process the arguments
- $body = $this->createBody();
- foreach($this->actions as $key => $action)
- {
- $result = $action($body); // invoke the first filter in the chain
- if($result === false)
- {
- //Go straight to serialization actions
- $serAction = 'serializationAction';
- $serAction($body);
- break;
- }
- }
-
- echo $body->getResults();
- }
-
- /**
- * Add a class mapping for adapters
- */
- function addAdapterMapping($key, $value)
- {
- $GLOBALS['amfphp']['adapterMappings'][$key] = $value;
- }
-
- /**
- * This function should overriden by the gateways
- */
- function createBody()
- {
-
- }
-
- /**
- * Create the chain of actions
- * Subclass gateway and overwrite to create a custom gateway
- */
- function registerActionChain()
- {
-
- }
- }
- ?>
|