找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1119|回复: 0
打印 上一主题 下一主题

简单解析PHP程序的运行流程

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:35:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            一直想了解Web编程的技术。PHP是进行Web编程重要的一种语言,书上总是说,PHP是用于服务器端的编程语言。但是,实在不能理解它是怎么用于服务器端编程,如何被运行。也看过一些PHP的教程,大多是介绍语法,却没有给出前面的问题解答。最近东拼西凑的看了一些东西,终于对PHP如何运行有了一些了解。
HTTP协议与PHP脚本的触发
HTTP是一种基于Request/Response的协议,是支持Web运行的协议基础。HTTP的客户端发送Request
到服务器端,服务器端返回Response。Request中包含客户端需要访问的页面的文件名。服务器端返回该文件名指向的网页。如果没有使用PHP、JavaScript等,HTTP协议传输只能是静态的HTML文件。也就是,HTML文件不会受到用户行为的影响,内容一直保持不变。

如果要实现动态网页,就需要使用PHP或JavaScript。PHP是用于服务器端的编程语言,JavaScript是多用于客户端的编程语言。
PHP代码是在服务器端被执行的。用户访问一个包含PHP代码的网页时,发送Request到服务器,其中包含网页的文件名。服务器收到Request后,找到文件名指向的文件,发现其中嵌有PHP代码,会调用PHP解释器处理该文件,然后将处理后的结果整理到Response,发送到客户端。PHP代码可以与服务器端的数据库或其他资源进行交互,或者根据用户的操作产生不同的页面。
因此,PHP脚本的触发是在服务器收到客户端的Request。收到一个Request后,服务器触发一个PHP脚本;处理完脚本后,返回结果到客户端,等待下一个Request。当收到下一个Request后,服务器触发另一个(或同一个)PHP脚本。两次PHP脚本的运行是相互独立的,第二次脚本的运行几乎不受前一次脚本运行的影响。
JavaScript代码一般是在客户端被执行的,即被浏览器所处理。客户端从服务器端获取的是JavaScript代码,而不是代码被执行后的结果,然后调用解释器执行该代码。
PHP的代码块
PHP代码是可以嵌入到HTML文件中的,经常可以在HTML文件中看到散落在各处的PHP代码块。我也一直困惑在同一个HMTL文件中,不同的PHP代码块之间是怎样的关系。原来PHP是会忽略两个PHP代码块之间HTML代码的。
  Test PHP Multiple Blocks

  This is HTML code.
  This is PHP code block 1.
\$var=$var
";
  ?>
  This is HTML code too.
  This is PHP code block 2.
\$var=$var
"
  ?>

代码中有两个PHP代码块,它们被HTML代码隔开了。第1个PHP代码块声明了1个变量$var;第2个代码块引用$var,进行改变了它的值。用PHP执行上述代码,得到的输出如下。
  Test PHP Multiple Blocks

  This is HTML code.
  This is PHP code block 1.
$var=1
  This is HTML code too.
  This is PHP code block 2.
$var=2

第2个代码块是可以引用$var的。虽然被HTML代码隔开了,但是两段代码的执行完全忽略了HTML部分。PHP的输出与下面没有被HTML隔开的PHP代码是一样的,前者只是在PHP输出结果之间插入了相应的HTML代码。
  This is PHP code block 1.
\$var=$var
";
    $var += 1;
    echo "This is PHP code block 2.
\$var=$var
"
  ?>
            
            
您可能感兴趣的文章:
  • cmd下运行php脚本
  • IIS 7.x FastCGI 运行 PHP的配置方法
  • 在命令行下运行PHP脚本[带参数]的方法
  • Windows下Apache+MySQL+PHP运行环境的安装图文方法
  • CentOS 5.5使用yum来安装LAMP(php运行环境)
  • php运行出现Call to undefined function curl_init()的解决方法
  • PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
  • win2008 php运行环境搭建图文教程
  • Window下PHP三种运行方式图文详解
  • Windows server 2008搭建php运行环境图文详解(php5.3)
  • Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端