Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 11113

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>在新版本的 PHP 中使用旧的 PHP 代码</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="简明教程"
HREF="tutorial.html"><LINK
REL="PREVIOUS"
TITLE="处理表单"
HREF="tutorial.forms.html"><LINK
REL="NEXT"
TITLE="下一步做什么?"
HREF="tutorial.whatsnext.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="tutorial.forms.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>章 2. 简明教程</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="tutorial.whatsnext.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="tutorial.oldcode"
>在新版本的 PHP 中使用旧的 PHP 代码</A
></H1
><P
>&#13;   现在,PHP 已经发展成为一种流行的脚本语言,可以在很多公共的资源里找到可以在自己的脚本中重新利用的代码。PHP
   语言的开发者为向下兼容性下了很多功夫,因此在新版本的
   PHP 下,老版本的代码应该可以在不作任何改动的情况下(理想地)运行。不过实际上,还是必须对老的代码做一些改动。
  </P
><P
>&#13;   有可能影响到老版本的代码的最重要的两点改动分别是:
   <P
></P
><UL
><LI
><P
>&#13;      取消了旧的 <CODE
CLASS="varname"
>$HTTP_*_VARS</CODE
>
      数组(在函数或者方法中原本是全局变量)。PHP
      <A
HREF="http://www.php.net/releases/4_1_0.php"
TARGET="_top"
>4.1.0</A
>
      版本引入了如下<A
HREF="language.variables.predefined.html#language.variables.superglobals"
>超全局数组变量</A
>:<CODE
CLASS="varname"
>$_GET</CODE
>、<CODE
CLASS="varname"
>$_POST</CODE
>、<CODE
CLASS="varname"
>$_COOKIE</CODE
>、<CODE
CLASS="varname"
>$_SERVER</CODE
>、<CODE
CLASS="varname"
>$_FILE</CODE
>、<CODE
CLASS="varname"
>$_ENV</CODE
>、<CODE
CLASS="varname"
>$_REQUEST</CODE
>
      以及 <CODE
CLASS="varname"
>$_SESSION</CODE
>。老的 <CODE
CLASS="varname"
>$HTTP_*_VARS</CODE
>
      数组,诸如 $HTTP_POST_VARS 等,从 PHP 3 就已经开始使用,它们仍然存在。自 PHP 5.0.0 起,长格式的 PHP
<A
HREF="language.variables.predefined.html"
>预定义变量</A
>可以通过设置
<A
HREF="ini.core.html#ini.register-long-arrays"
>register_long_arrays</A
> 来屏蔽。
     </P
></LI
><LI
><P
>&#13;      外部变量不再被默认注册为全局变量。也就是说,从
      PHP <A
HREF="http://www.php.net/releases/4_2_0.php"
TARGET="_top"
>4.2.0</A
>
      版开始,<TT
CLASS="filename"
>php.ini</TT
> 中的设置选项
      <A
HREF="ini.core.html#ini.register-globals"
>register_globals</A
>
      默认值变成了
      <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>off</I
></SPAN
>。建议用以上提到的超全局数组变量来访问这些值。但可能老的脚本、书籍以及教程都可能建立在该设置为
      on 的基础上。如果该选项被设置为
      on,则可以在
      URL <TT
CLASS="literal"
>http://www.example.com/foo.php?id=42</TT
>
      中直接使用变量 <CODE
CLASS="varname"
>$id</CODE
>。但不管被设置为 on 还是
      off,<CODE
CLASS="varname"
>$_GET['id']</CODE
> 一直有效。
     </P
></LI
></UL
>
  </P
><P
>&#13;   如果希望了解关于这些改动的细节,请参阅“<A
HREF="language.variables.predefined.html"
>预定义变量</A
>”一章以及其中的连接。
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="tutorial.forms.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="tutorial.whatsnext.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>处理表单</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="tutorial.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>下一步做什么?</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>