Клиентский модуль Satellite CORBA
Управляющие функции
🕛 01.11.2006, 13:42
Этот модуль используется для работы с удаленными объектами архитектуры CORBA. Добавьте в файл php.ini строку idl_directory=, в которой указан путь к файлам описания интерфейсов IDL. OrbitObject
Класс доступа к объекту CORBA
new OrbitObject (string ior)
В аргументе ior указывается строка идентификатора удаленного объекта IOR (Interoperable Object Reference), обычно включающая его имя и адрес.
# Простой файл описания интерфейса
(IDL) объекта interface Mylnterface {
voTd Setlnfo (scnng info):
string Getlnfo():
attribute int value: }
<?php
$obj = new CrDitObject ($ior).
$obj->Set!nfo ("A 2GooD object"):
echo $obj->GetInto():
$obj->value = 42.
echo $obj->value: ?>
OrbitEnum
Класс перечисления CORBA
new OrbitEnum (string id)
В аргументе id указывается строка имени «перечисления», которая может представлять простое его имя (например, "МуЕпит") пли быть полным идентификатором депозитария (например, "IDL:MyEnum:1.0").
# Простой файл описания интерфейса
(IDL) перечислителя enum MyEnum {
a.b.c.d.e -N ) \ !*л <?
! Senum = new OrbitEnum ("MyEnum");
echo $enum->a./* выводит О */
echo $enurn->c;/* выводит 2 */
echo $enum->e;/* выводит 4 */ ?>
OrbitStruct
Класс структуры CORBA
new OrbitStruct (string id)
В аргументе id указывается строка имени структуры, которая может представлять простое ее имя (например, "MyStnict") или быть полным идентификатором депозитария (например, "IDL:MyStruct:1.0").
# Простой файл описания интерфейса
(IDL) структуры struct MyStruct (
short shortvalue: string stnngvalue. }:
interface Somelnterface {
void SetValues (MyStruct values);
MyStruct GetValuesO:
} <?php
$obj - new OrbitObject ($ior);
$inmal_values = new OrbitStruct
("IDL:MyStruct:1.0");
$imtial_values->shortvalue = 42.
$1n!t1al va1ues->str1ngvalue =
"HGTTG".
$obj->SetValues ($imtnal_values);
Svalues =- $obj->GetValues();
echo $values->shortvalue:
echo $values->stnngvalue: ?>
satellite_caught_exception
Проверка исключения прошлой функции bool satellite_caught_exception ()
Возвращает TRUE, если при выполнении предыдущей функции в никло исключение.
# Простой файл описания интерфейса
(IOL) exception OutOfCheeseError {
int parameter; }
interface Anotherlnterface {
void AskWhyO raises
(OutOfCheeseError): }
<?php $obj = new
OrbntObject ($тог);
$obj->Askwhy().
if (satellnte_caught_exception())
{ if ("IDL-.OutOfCheeseError
10" == satellite_exceptionjd())
{ Sexception =
satellite_exception_value();
echo $exception->parameter; )
} ?>
satellite_exception_id
Получение идентификатора депозитария последнего исключения
string satellite_exception_id ()
Возвращает строку идентификатора (например, "IDL:MyException:1.0".)
См. также sateTlite_caught exception().
satellite_exception_value
Получение структуры последнего исключения
OrbitStruct satellite_exception_value()
См. также sateTlite_cauglit_exception().