2013-07-21 5 views
0

У меня есть простая конфигурация для проекта Flex (с подключенным сервером WAMP и AMFPHP). И все, кажется, работает, я могу назвать простые методы класса PHP из Flex и получить возвращаемые данные.Flex с AMFPHP, в относительном пути PHP

Но тогда у меня есть эта небольшая проблема. Я использую дополнительную библиотеку PHP, которая использует относительные пути для включения или поиска других файлов. Так вот упрощенная AMFPHP/Услуги/Каталог:

  • Услуги
    • MyExampleService.php
    • Lib
      • MainLibraryFile.php
      • классы
        • LibraryGlobalClass.php
        • WSDL
        • LibraryGlobalService.wsdl
      • и т.д.
        • LibraryConfig.php

Затем после некоторого MainLibraryFile работы, LibraryGlobalClass.php хочет читать LibraryGlobalService.wsdl. Построено так, что путь к директории wsdl сохраняется в LibraryConfig.php, поэтому GlobalClass сначала считывает путь к файлу wsdl из файла Config, а затем объединяет его с именем имени файла службы wsdl.

Это выглядит примерно так:

In LibraryConfig.php : 
public $ConfigPathToWsdl = "../wsdl/"; 

In LibraryGlobalClass.php : 
$this->config = new LibraryConfig(); 
$this->ReadWSDL($this->config->ConfigPathToWsdl . "LibraryGlobalService.wsdl"); 

И мне кажется, что это две точки (родительский каталог) не работают так же, как в этом вызове AMFPHP. Это не происходит из etc dir в lib dir (через ..), а затем в wsdl dir, вместо этого создается какая-то сумасшедшая ссылка, которая не может быть решена.

Интересно, есть ли способ каким-либо образом изменить его, или я просто что-то не понимаю.

ответ

0

Лучшей практикой является использование абсолютных путей, а не относительных. Как насчет замены $ ConfigPathToWsdl на что-то вроде dirname (FILE). '/../wsdl'? Обратите внимание, что это ФАЙЛ, окруженный двойными подчеркиваниями, как показано здесь в комментариях. http://php.net/manual/en/function.dirname.php

+0

Спасибо за ответ :) Я попытался использовать dirname, но это не решило проблему. Поэтому я закончил создание абсолютных путей (но относительно корневой папки библиотеки, которую я включил в основной файл библиотеки). – MyFantasy512

 Смежные вопросы

  • Нет связанных вопросов^_^