gpt4 book ai didi

php - 如何在具有参数化构造函数的 PHP 中实例化 .NET 类?

转载 作者:可可西里 更新时间:2023-11-01 13:31:59 25 4
gpt4 key购买 nike

我想在 PHP 中使用一个 .NET 类,为此我正在使用 PHP 的 DOTNET 类。我想实例化一个具有参数化构造函数的类。

$e = new DOTNET($full_assembly_string, $full_class_name);

如何通过此 API 传递构造函数参数?

最佳答案

那是不可能的

在进行此集成时,您可能需要考虑以下几个问题:

  1. 公共(public)方法

正如 PHP 手册所说,返回的对象是一个重载对象,这使得 PHP 不知道该对象可能包含的公共(public)方法。所以,如果你对它进行 var_dump,你只会看到一个空数组。这就是为什么在调用之前必须知道内部 DLL 类结构的原因。

对我们来说幸运的是,.NET 框架附带了另一个专门用于这项工作的工具,称为 ildasm.exe。它位于 gacutil.exe 旁边c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\或 c:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin。要加载和显示 DLL 结构,只需调用“ildasm.exe\path\to\your.dll”。

<强>2。参数另一个问题是您不能将参数传递给 DLL 中的类构造函数。

  1. 数据类型

作为两种不同的编程语言,我们涉及不同的数据类型。也就是说,您必须确保 DLL 类方法返回 PHP 可以理解的数据类型(主要是字符串、整数、 bool 值等)。如果您的方法需要返回数组列表或更复杂的结构,您可能需要考虑使用 JSON 进行编码。

阅读更多

http://blog.zitec.com/2012/handling-net-assemblies-in-php/

关于php - 如何在具有参数化构造函数的 PHP 中实例化 .NET 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28427706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com