重新审视下php,有 2 个问题
可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。
问题一:这个设置到底是什么意思,怎么设置呢。
我的理解:把php文件中的所有html标签都用echo的形式输出
PHP-GTK 是 PHP 的一个扩展,可以使用来编写桌面应用程序。
问题二:有没有玩过的朋友,效果怎样?
回复内容:
可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。
问题一:这个设置到底是什么意思,怎么设置呢。
我的理解:把php文件中的所有html标签都用echo的形式输出
PHP-GTK 是 PHP 的一个扩展,可以使用来编写桌面应用程序。
问题二:有没有玩过的朋友,效果怎样?
第一个问题上面已经解释的很详细,只评论一下php-gtk
:
一个鸡肋的东西,就像用汤匙去耕地
一样,php并不适合做桌面软件。(注意,不是不能,是不适合。就像用汤匙也可以去挖地道、耕地、开山,但是远没有铁锹、炸药适合)
原文是这儿吧?
和客户端的 JavaScript 不同的是,PHP 代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的。甚至可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。
其实是个表述问题。大致意思应该是:PHP 是在服务端运行的,客户端只能看到最终生成输出的 HTML 结果,而看不到背后的 PHP 源码。
至于最后一句我的理解是:一般情况下,Web 服务器(Apache、Nginx 等)的配置,PHP 处理器只处理 .php
文件。你大可将 .html
文件也丢给 PHP 处理器处理(其实就是 PHP 的只执行 ... ?>
代码块、可以和 HTML 内容混合的特性)。
附上原文:
What distinguishes PHP from something like client-side JavaScript is that the code is executed on the server, generating HTML which is then sent to the client. The client would receive the results of running that script, but would not know what the underlying code was. You can even configure your web server to process all your HTML files with PHP, and then there's really no way that users can tell what you have up your sleeve.
Q1: 就是那么个意思啊,服务器上把HTML的所有内容都输出出来,这部分用户是查看不到的。不像是用AJAX,用户通过监听就可以知道你是哪个接口的请求从而获取内容什么的(只是举个例子)。
Q2:参见我的博文《用PHP写桌面程序》
題主有兩個邏輯上的錯誤,這是題主有這兩個疑問的根本原因。
php 並不是通用語言,它是以 web 爲核心的。所以邏輯上應當將 php 還原到 html 上,而非將 html 還原到 php。
php 可以理解爲依附於 html 上的、功能強大的、有成爲通用語言願望的「模板引擎」。
而模板使用什麼擴展名並不實質影響模板是否正常工作,因爲擴展名只是解析器用於識別的捷徑罷了。
從邏輯上不是文件屬於擴展名而是擴展名屬於文件。
比如同样一句话可以用php的echo,也可以用js的document.write。但是前者的源码在客户端这边是看不到的,只能看到结果。后者浏览页面可以看到结果,但是右键查看源码可以看到源码。
php写写shell倒是挺方便。gui嘛。。。连py上扩展那么多都用着费劲,你觉得php上的gui能好用吗?