Как я могу использовать код C++ для взаимодействия с PHP?
Я где-то читал, что иногда PHP просто недостаточно быстр, и что скомпилированный код иногда должен "делать тяжелую работу"
Что такое api в C++ для этого?
5 ответов
вы можете добавлять функции / классы в PHP, запрограммированные на C (и вы можете обернуть класс C++ из C, если я правильно помню из статьи, которую я читал некоторое время назад), что может позволить вам делать некоторые вещи быстрее - если хорошо запрограммирован : нет необходимости в интерпретации PHP-кода ; только выполнение машинного кода, который, как правило, быстрее.
для этого вам придется разработать расширение PHP.
не так много ресурсов доступно в интернете об этом, но это может помочь вам начать:
- расширение написание Часть I: введение в PHP и Zend
- расширение написание Части II: параметры, массивы и ZVALs
- расширение написание Части II: параметры, массивы и ZVALs [продолжение]
- расширение написание Часть III: ресурсы
и, в частности, о части 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 (документация может быть не очень дружелюбной!)