Как я могу использовать код C++ для взаимодействия с PHP?

Я где-то читал, что иногда PHP просто недостаточно быстр, и что скомпилированный код иногда должен "делать тяжелую работу"

Что такое api в C++ для этого?

5 ответов


вы можете добавлять функции / классы в PHP, запрограммированные на C (и вы можете обернуть класс C++ из C, если я правильно помню из статьи, которую я читал некоторое время назад), что может позволить вам делать некоторые вещи быстрее - если хорошо запрограммирован : нет необходимости в интерпретации PHP-кода ; только выполнение машинного кода, который, как правило, быстрее.

для этого вам придется разработать расширение PHP.

не так много ресурсов доступно в интернете об этом, но это может помочь вам начать:

и, в частности, о части C++ это тоже может помочь:

Если вас действительно интересует тема, и вы готовы потратить на нее деньги, вы также можете купить книгу расширение и внедрение PHP (некоторые страницы доступны в качестве предварительного просмотра в Google Books тоже), Я видел пару раз, что он был на книга для чтения, когда это интересно на эту тему (на самом деле, я купил его некоторое время назад, и это интересно читать)

кстати, автор этой книги также является автором первых четырех статей, с которыми я связан; -)


вы можете на самом деле выполнить скомпилированные приложения без какого-либо API:

$output = exec('/path/to/yourapp');

помимо этого, вы всегда можете написать расширение PHP. Здесь есть хорошее руководство по этому вопросу:http://devzone.zend.com/article/1021


swig, упрощенная обертка и генератор интерфейса может помочь вам обернуть (существующий) c++ в модуль php.

SWIG-это инструмент разработки программного обеспечения, который соединяет программы, написанные на C и C++, с различными языками программирования высокого уровня. SWIG используется с различными типами языков, включая общие языки сценариев, такие как Perl, PHP, Python, Tcl и Ruby.

Ну, вы не определили, что вы пытаетесь сделать, но если вам нужен интерфейс c++, то посмотрите на каталог ext в исходном коде, чтобы понять, как написать расширение PHP, которое вы можете загрузить и использовать из ваших PHP-скриптов.

пара ссылок, которые могут помочь:

http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021


пробовали выпить?? кажется, хорошее решение для вашей проблемы!!

нажмите здесь чтобы посетить веб-страницу SWIG (документация может быть не очень дружелюбной!)