gpt4 book ai didi

asp.net-mvc - 使用 phalanger 作为 MVC 应用程序的 View 部分

转载 作者:行者123 更新时间:2023-12-03 18:06:38 29 4
gpt4 key购买 nike

为了让了解 HTML 的 UI 人员和了解 .NET 的后端人员之间更好地协作,我们正在考虑一种架构,在该架构中我们使用 MVC 网络应用程序并使用 phalanger 作为 View 引擎。

除一点外,将 phalanager 集成为 View 模型看起来相当容易。我不确定如何将模型传递给页面脚本。有什么想法可以实现吗?

一个想法是从 php 脚本调用静态 .NET 方法,但感觉有点老套。我希望能够将参数传递给脚本,并让脚本能够在变量中获取它。

最佳答案

在后端使用 .NET 并在前端使用 PHP(使用 Phalanger)看起来是个不错的方案。我认为最好的选择是在 .NET 中实现模型并使用 PHP 实现 Controller 和 View (直接或使用某些 PHP 框架)。

从使用 Phalanger 编译的 PHP 调用 .NET 模型非常简单,因为 PHP 代码可以访问 .NET 对象。假设您有一个 C# DLL,其中包含具有以下类型的命名空间 DemoDataLayer:

public class Data {
public List<Category> GetCategories() {
var ret = new List<Category>();
// Some code to load the data
return ret;
}
}

然后您可以从 Phalanger 网站引用 C# 库(使用 web.config)并使用 Phalanger 提供的 PHP 扩展来使用 Data 类,就好像它是一个标准的 PHP 对象:

<?
import namespace DemoDataLayer;
$dl = new Data;
$categories = $dl->GetCategories();
?>
<ul>
<? foreach($categories as $c) { ?>
<li><a href="products.php?id=<? echo $c->ID ?>"><? echo $c->Name ?></a></li>
<? } ?>
</ul>

要配置引用,您需要将 C# DLL 添加到 bin 目录并将其包含在 classLibrary 元素中。上面使用的 import namespace 语法是 Phalanger 特定的语言扩展(用于使用 .NET 命名空间),需要使用 PhpClr 功能打开:

<?xml version="1.0"?>
<configuration>
<phpNet>
<compiler>
<set name="LanguageFeatures">
<add value="PhpClr" />
</set>
</compiler>
<classLibrary>
<add assembly="DemoDataLayer" />
</classLibrary>
</phpNet>
</configuration>

关于asp.net-mvc - 使用 phalanger 作为 MVC 应用程序的 View 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136208/

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