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

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

Что такое API в C++, чтобы сделать это?

5 ответов

Решение

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

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

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

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

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

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

На самом деле вы можете выполнять скомпилированные приложения без какого-либо 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?? кажется хорошим решением вашей проблемы!!

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

Другие вопросы по тегам