【问题标题】:Writing windows applications in php example在 php 示例中编写 windows 应用程序
【发布时间】:2012-02-24 13:08:53
【问题描述】:

我最近发现可以用 php 编写 windows 应用程序。有人可以提供一个用php编写的windows(windows 7)应用程序的链接,以便我可以安装和运行。我仍然有点怀疑这是可能的。眼见为实

编辑在几个答案中提到的 phpgtk 社区网站的应用程序页面上有很多损坏的链接。我正在寻找一个可以下载和安装的 exe,以向我证明它是可能的(并且实用的)。 phpgtk 网站上的许多应用程序都在开玩笑(滴答作响,尽可能快地单击按钮等),是否有任何严肃的桌面应用程序是用 php 编写的,还是我应该放弃这个想法现在并追求 C++ 桌面应用程序?

【问题讨论】:

  • 在他们的社区网站上直接有一个展示:php-gtk.eu/en/apps
  • 丹吉特。没注意评论
  • 我在该网站上发现了很多损坏的链接。有没有人知道他们知道工作的好示例应用程序?
  • 是否不能像通常安装 Windows 应用程序一样下载和安装 exe?如果不是,我看不到能够创建 Windows 应用程序的好处,因为最终用户无法轻松使用它们。

标签: php windows php-gtk


【解决方案1】:

据我所知,PHP-GTK 有点死,或者至少非常不活跃。并不是说它曾经有一个非常活跃的社区......

还有一些其他的 PHP GUI 项目,我个人不会使用其中任何一个,原因很简单,恕我直言 PHP 缺乏编写严肃的 GUI 应用程序的功能,最大的可能是 缺乏线程数,或任何其他重要的多处理能力......

pcntl_fork(),它可以工作(使用过几次),但它的主要缺点是它不能在 Windows 上工作。有人可能还会争辩说,使用 fork() 不如使用线程,但这是另一回事。

特别是使用 GUI,您可能需要某种线程支持,假设您的 GUI 正在执行一些需要 20 秒的操作(复制文件、下载内容等),您通常不希望用户界面在此操作发生时冻结,并且您可能还希望同时运行多个操作。 我不确定 PHP-GTK 是如何解决这些问题的,如果它们完全解决了的话,但是缺乏真正的内置语言支持仍然会削弱你。

PHP 还有其他缺点,但这些缺点更为普遍,尽管您可能会在桌面应用程序上比在 Web 应用程序上更快地遇到它们(例如,错误处理、操作系统可移植性、适当的 UTF-8 支持等。 )。

还有 许多 其他编程语言更适合这项特定工作,并且它们中的大多数具有比 PHP-GTK 拥有(大得多)更大的社区的优势,这意味着更多的文档,更多的例子,更多的人寻求帮助等等。

C++ 可能是一个不错的选择,Python、Perl、Ruby、C# 等也可以考虑。维基百科有一个广泛的列表:http://en.wikipedia.org/wiki/Comparison_of_programming_languages

我的建议:选择一个看起来不错且满足您需求的,然后开始 hack。如果您不喜欢它,请尝试其他方法。 ;)

【讨论】:

  • 你说得对,php gtk 未来有点不安全。此外,像 python 这样的其他语言肯定可以很好地工作。然而,我希望 php-gtk 的情况会有所改变,像 php 这样的语言非常容易编程,如果被抛在后面会很可惜。此外,我还使用我为 Web 编程所拥有的自定义 mvc 在 php 中构建了一个决策支持应用程序。我还构建了一个小型模板机来自动生成 MVC 中 View 下的 gtk 代码。我想说你可以用php-gtk做一些事情,当然我知道像python这样的其他社区更活跃,事情更容易。
【解决方案2】:

WinBinder 是脚本编程语言 PHP 的开源扩展。它允许 PHP 程序员轻松构建原生 Windows 应用程序。

【讨论】:

    【解决方案3】:

    这应该是你要找的:)

    http://php-gtk.eu/en/apps

    【讨论】:

      【解决方案4】:

      有一个很棒的扩展名为WinBinder,我曾经致力于它。它非常简单直接......这是你可以用它做的事情VBM2 sample

      还有 PHP-GTK,对于以前没有编写过桌面应用程序的人来说有点难学。但是PHP-GTK功能强大,支持更好,可以跨平台开发应用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-08
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        相关资源
        最近更新 更多