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

Я где-то читал, что иногда PHP просто не достаточно быстрый и что скомпилированный код иногда «делает тяжелый подъем»,

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

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

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

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

В Интернете не так много ресурсов, доступных в Интернете, но они могут помочь вам начать:

  • Расширение Написание Часть I: Введение в PHP и Zend
  • Расширение записи Часть II: параметры, массивы и ZVALs
  • Расширение записи Часть II: параметры, массивы и ZVALs [продолжение]
  • Расширение Написание Часть III: Ресурсы

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

  • Обтекание классов C ++ в PHP-расширении

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

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

Надеюсь, эта помощь …
Повеселись !

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

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

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

swig, упрощённый Wrapper и Interface Generator могут помочь вам обернуть (существующий) 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 ?? кажется хорошим решением для вашей проблемы!

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