当前位置: 网学 > 编程文档 > PHP > 正文

我们可以使用Phalanger创建组合.NET和PHP的解决方案

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/02
hpContext.OutputStream = byteOut;   // Declare global $MODEL variable (if model is set)  if (model != null)  Operators.SetVariable (phpContext, null, "MODEL",  ClrObject.WrapDynamic (model));   phpContext.Include (fileName, false);  }  }  PhalangeriView 方法会获得文件名(指向 PHP 脚本)、代表作为模型返回的数据的 .NET 对象以及当前的 HTTP 上下文。 它首先会初始化 RequestContext,从而 Phalanger 知道它是在处理作为 HTTP 请求一部分的脚本。 然后,它会确保所有 PHP 脚本生成的输出都会直接作为 HTTP 响应发送。 当作为脚本运行 PHP 的时候,输出可以重定向到内存流,从而以不同的方式处理。 最后,方法会声明全局变量 MODEL,并使用 Phalanger 所提供的 Include 方法来执行 PHP 脚本。这个例子并不完全是从 C# 调用 PHP 的指引,你可以在 Phalanger 博客的文章中找到更详细的信息。 然而,它应该可以说明,使用 Phalanger 从 C# 调用 PHP 脚本相当容易。 这在本节讨论的 web 编程情况下会很有用,但是它给了我们更多选择。总结本文简要地介绍了 Phalanger —— 针对 .NET 的 PHP 编译器 —— 以及几种方案,我们可以在实践中使用它来解决重要问题。 最近 Phalanger 项目非常活跃,2.1 版本中包含了很多兼容性方面的改善、使用动态语言运行时(DLR)以获得更好的性能,以及与 Visual Studio 2010 的集成。我们看了三种可以在 web 开发中使用 Phalanger 的方案。 第一种方案是使用 Phalanger 在 Windows 环境下运行未经修改的开源 PHP 项目(像 WordPress)。 使用 Phalanger 编译的应用程序可以运行在 ASP.NET 下,这种主机会更轻量级,运行效率也更高。在第二种方案中,我们查看了集成在 .NET 生态系统中的 PHP 应用程序。 有了 Phalanger 扩展,我们就可以在 PHP 代码中直接调用 .NET 程序库。 例如,这可以用来整合 ASP.NET 应用程序和 WordPress 之间的用户数据库。最后一种方案演示了一种 web 框架,它使用 PHP 作为在 ASP.NET MVC 中编写视图的语言。 通过这种方式,.NET 开发者可以很容易地提供应用程序的业务功能,而 PHP 开发者可以在表现层中直接使用它。关于作者498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/2/9619586564.jpg" />Tomas Petricek 是微软的 C# MVP 和 F# 布道师。 他和 Jon Skeet 一起编写了《Real-World Functional Programming》一书,说明了函数式的概念,并向有 C# 背景的开发者说明如何使用F#。 Tomas 还是 DEVSENSE 的共同创始人,他对很多开源项目都做出了贡献,包括 Phalanger 和F#语言针对 MonoDevelop 的集成。参考信息[1] The Phalanger 网站包含了关于项目的最新消息。[2] 文档和介绍(Phalanger Wiki)[3] Phalanger 2.1下载包括安装程序和源代码(CodePlex)[4] PicoMVC 项目使用 Phalanger 作为轻量级的视图引擎(Robert Pkckering 的 Strange 博客)[5] PHP 作为针对 C# 的脚本语言讨论了另一种对 Phalanger 的用法(Phalanger 博客)[6]以类型安全的方式在 C# 中使用 PHP 对象(Using PHP objects from C# in a type-safe way) 说明了 Phalanger 提供的,用于从 C# 访问 PHP 对象的安全机制。[7]Phalanger 利用 DLR 的优势宣布了 Phalanger 2.1 的发布(Phalanger 博客)[8] Jadu CMS 和 Microsoft .NET——使用 Phalanger 把 PHP 应用程序编译到 .NET 的案例学习 [9]Phalanger 支持包含了额外
  • 下一篇资讯: 提高PHP代码质量36计
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号