Ich verwende eine C#.NET DLL mit ASP.NET 2.0 und es funktioniert jetzt. Ich möchte die gleiche DLL in PHP verwenden.
Ich bin ein Neuling in PHP; würde jemand bitte sagen Sie mir, wie man es in PHP verwenden, oder könnten Sie einige Beispiel teilen?
Ich verwende eine C#.NET DLL mit ASP.NET 2.0 und es funktioniert jetzt. Ich möchte die gleiche DLL in PHP verwenden.
Ich bin ein Neuling in PHP; würde jemand bitte sagen Sie mir, wie man es in PHP verwenden, oder könnten Sie einige Beispiel teilen?
PHP hat eine integrierte Windows-Erweiterung namens DOTNET die es Ihnen ermöglicht, .NET-Bibliotheken in einer PHP-Anwendung zu verwenden.
Beachten Sie, dass Sie sicherstellen müssen, dass Ihre Baugruppen als COM sichtbar deklariert sind:
[assembly: ComVisible(true)]
Hier sind zwei Beispiele.
<?php
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>
Ein weiteres Beispiel zur Demonstration der Funktionalität der DOTNET-Klasse:
<?php
$full_assembly_string = 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=a8425bc35256e463';
$full_class_name = 'System.Windows.Forms.Form';
$form = new DOTNET($full_assembly_string, $full_class_name);
// code to add buttons, menus, text, etc
$form->Show();
$form_event = '';
while($form_event !== 'close') {
// handle form functions and events
}
?>
Wenn Sie die PHP Version 5.4.7 verwenden, sollten Sie com_dotnet.dll bereits haben. wenn Sie sie nicht haben, können Sie sie unter " herunterladen " und fügen Sie es zu Ihrem ext/-Pfad im php-Verzeichnis hinzu.
Bearbeiten Sie die Datei php.ini
extension=php_com_dotnet.dll
Was Sie wirklich brauchen, ist dies:
(Sie finden diese Werkzeuge am ehesten in " C:\Program Dateien (x86) \Microsoft SDKs \Windows\ ...", googeln Sie einfach nach der korrekten Verwendung, das ist ganz einfach)
Das sollte genügen.
In PHP (Beispiel):
<?php
// use this kind of name, not path to dll or whatever
// print your assemblly's full name in .NET and use that
$name = "YourAssembly, Version=1.1.1.1, Culture=neutral, PublicKeyToken=fe6263478ac";
$obj = new DOTNET($name, "YourNamespace.YourClass");
echo "success\n";
?>
Oh ja, vaibhav hat Recht mit der "php.ini". Ich brauchte sie nicht zu bearbeiten. Sie hatte die richtigen Werte (Standardwerte vielleicht?).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.