Можно ли создать расширение PHP с помощью C #?
Нам нужно подключить PHP к внутренним библиотекам, которые мы написали на C # .NET 4.6 для Windows, и мы хотим быть как можно ближе к PHP, не имея при этом такого обслуживания, которое мы можем назвать внешним по отношению к php, таким образом, идея создания пристройка в доме.
Я посмотрел на пару вариантов:
Используйте расширение PHP DOTNET для вызова сборки C #.
Написать расширение PHP.
Вызовите код C # как внешнюю услугу.
Было бы интересно иметь возможность написать расширение PHP с использованием C #, предполагая, что это возможно. Я вижу, как это не может быть «лучшим» вариантом, если это возможно, хотя.
Спасибо за чтение и советы !!!
Исходя из идеи @SevaAlekseyev, я смог заставить PHP вызывать C # с помощью COM.
<?php
$object = new COM('ComClassExample.ComClassExample');
echo '1 and 1 added: ' . $object->AddTheseUp(1,1);
?>
Используя следующий сайт, я смог создать C # dll, который выставлял себя как объект COM. https://whoisburiedhere.wordpress.com/2011/07/12/creating-a-com-object-from-scratch-with-c/
И, немного подправив событие Post-build, я смог загрузить новую версию для PHP (пришлось копировать, потому что PHP получал сообщение об отказе в доступе)
iisreset /stop
copy /Y "$(TargetPath)" C:\com\$(TargetFileName)
$(frameworkdir)\$(frameworkversion)\regasm.exe C:\com\$(TargetFileName) /codebase /tlb /nologo
iisreset /start
@JuanDelaCruz Peachpie выглядит как интересный инструмент для запоминания, но похоже, что он предназначен для компиляции перед развертыванием, которое в данный момент не работает в нашем магазине.
Спасибо всем!
Других решений пока нет …