Получать данные из PHP и обрабатывать в Perl - PullRequest
2 голосов
/ 09 декабря 2011

Я разработал тег для обозначения терминов определенного домена. Для целей тегирования я использовал Perl. Tagger тэги абстрагируется от литературы, я разработал интерфейс, который на самом деле собирает пользовательский ввод. У меня вопрос, как я могу взять данные из интерфейса и передать их сценарию Perl в виде массива, а также как отобразить вывод после обработки из сценария Perl.

У меня есть необходимый скрипт тегирования, но я не могу разобраться с вышеуказанными проблемами.

Я получил несколько предложений с использованием JSON. Так что я полагаю, что у меня есть два разных скрипта, один PHP и другой Perl, который у меня есть. А как насчет отображения обработанного файла автоматически

Ответы [ 3 ]

4 голосов
/ 09 декабря 2011

Возможно, вам нужно использовать протокол маршалинга данных. Две простые возможности (для PHP и Perl):

  • вывод JSON -> ввод JSON.
  • Выход YAML -> Вход YAML.

JSON

В PHP:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, json_encode( $struct ));
fclose($fh);

В Perl:

use File::Slurp qw<read_file>;
use JSON qw<from_json>;

my $struct = from_json( read_file( 'testfile.txt' ));

YAML (расширенный набор JSON)

В PHP:

yaml_emit_file( "testfile.txt", $struct );

В Perl:

use File::Slurp qw<read_file>;
use YAML::XS qw<Load>;

my $struct = Load( read_file( 'testfile.txt' ));

Кроме того, есть хороший старомодный XML, но чтобы сделать его почти таким же легким, вам придется использовать Pear в PHP. Но XML::Simple может сделать это так же просто.

2 голосов
/ 09 декабря 2011

Существует несколько вариантов.

1 голос
/ 09 декабря 2011

Если вы используете два разных языка, таких как php и java или c или что-то еще, вам нужно использовать язык стандартного формата для общения между ними. Для этого вы должны использовать веб-сервисы, использующие протокол SOAP с xml, который ... это моя рекомендация, и я думаю, что это лучшее решение, потому что оно решает многие проблемы, и я использую его сейчас для связи между приложением Android и веб-приложением Java EE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...