$Id: README,v 1.9 2002/07/16 21:05:35 david Exp $ The Universe PHP Extension -------------------------- A PHP to MICO binding by David Eriksson . Universe is intended to replace the PHP extension Satellite. The Universe PHP extension is subject to version 2.02 of the PHP license that is bundled with this package in the file LICENSE, and is available at through the world-wide-web at http://www.php.net/license/2_02.txt. For a demonstration of Universe, and information about how you can support the development of Universe, please visit the the Universe site: http://universe.2good.nu/ Contents of this document ------------------------- o Quick-start o Universe features o Future of Universe o Know issues o Installation o Configuration o Supported data types Quick-start ----------- o Install MICO o Install a case-insensitive Interface Repository Daemon (see README.ird) o Configure PHP with the --with-universe parameter o Compile and install PHP o Modify php.ini if needed (see "Configuration" below) Universe features ----------------- o Use CORBA objects just like PHP classes - Call object methods with input and output parameters and return values - Read and write object attributes - Handles inherited interfaces o Create CORBA objects in PHP o Use the most common CORBA data types (see "Supported data types" below) o Universe uses a C++ framework called Zpp (see README.Zpp) o 95% of Universe is written in C++ (remaining parts in C) Future of Universe ------------------ o Find and get rid of any memory leaks o Make it run on Windows o Verify thread-safety Known issues ------------ o The unsigned long data type will be signed long in PHP o You may not inherit from the Universe* classes (aggregate them if needed) o gcc compiles C++ code really slow :-( Installation ------------ NOTE: Universe has not been throughly tested on Microsoft Windows! Universe does not work on systems without proper C++ exception handling. One example of such a system is version 4.2 and earlier of BSD/OS. Before compiling you should have installed MICO, including a special version of the Interface Repository Daemon. See README.ird for more information. Universe should only be used with MICO versions 2.3.7 or later. Installation of Universe requires you to configure and compile PHP with the parameter "--with-universe" added to the command line to configure: ./configure --with-universe If MICO is installed in any odd directory on your system you need to supply the path prefix for MICO when you configure PHP: ./configure --with-universe=/stuff/mico This means that micod is located in /stuff/mico/bin/micod, etc. The following directories are searched by default: /usr/local/mico /usr/local /usr Configuration ------------- These are the possible php.ini entries with their default values: universe.ORBNoIIOPServer = 0 ; you will probably set this to 1 universe.ORBDebugLevel = 0 universe.ORBIfaceRepoAddr = inet:localhost:2222 universe.ORBIfaceRepoIOR = universe.ORBIIOPAddr = universe.ORBMemTrace = For more information about the universe.ORB* entries, read the man page for "micorc". Supported data types -------------------- U=Universe S=Satellite R=Read CORBA data type W=Write CORBA data type Type U:R U:W S:R S:W -------------------------------------- null void short x x x x long x x x x unsigned short x x unsigned long x x float x x double x x x x boolean x x x x char x x octet x x any TypeCode Principal objref (object) x x x x struct x x x x union enum x x x x string x x x x sequence x x x x array alias (typedef) x x exception x x x longlong ulonglong longdouble wchar wstring fixed value value_box native abstract_interface