Ati*_*eed 6 .net php oop constructor instance
我想在PHP中使用一类.NET,并且正在使用DOTNETPHP类来实现此目的.我想实例化一个具有参数化构造函数的类.
$e = new DOTNET($full_assembly_string, $full_class_name);
Run Code Online (Sandbox Code Playgroud)
如何通过此API传递构造函数参数?
不可能那样做
\n\n进行此集成时,您可能需要考虑几个问题:
\n\n正如 PHP 手册所说,返回的对象是一个重载对象,这使得 PHP 不知道该对象可能包含的公共方法。因此,如果你 var_dump 它,你只会看到一个空数组。这就是为什么在调用内部 DLL 类结构之前必须知道它。
\n\n对我们来说幸运的是,.NET 框架附带了另一个专门用于这项工作的工具,称为 ildasm.exe。它位于 \nc:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bin\\ 或 c:\\Program Files (x86)\\Microsoft SDKs 下的 gacutil.exe 旁边\\Windows\\v6.0A\\bin。\n要加载并显示 DLL 结构,只需调用 \xe2\x80\x9cildasm.exe \\path\\to\\your.dll\xe2\x80\x9c。
\n\n2. 参数\n另一个问题是您无法将参数传递给 DLL 内的类构造函数。
\n\n作为两种不同的编程语言,我们涉及不同的数据类型。话虽这么说,您必须确保 DLL 类方法返回 PHP 可以理解的数据类型(主要是字符串、整数、布尔值等)。如果您的方法需要返回数组列表或更复杂的结构,您可能需要考虑使用 JSON 进行编码。
\n\n阅读更多内容
\n\n\n \n\n