Sophie

Sophie

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

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
>Phar-&#62;getStub</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="Phar archive stream and classes"
HREF="ref.phar.html"><LINK
REL="PREVIOUS"
TITLE="Phar->getSignature"
HREF="function.phar-getsignature.html"><LINK
REL="NEXT"
TITLE="Phar->getVersion"
HREF="function.phar-getversion.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
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="function.phar-getsignature.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.phar-getversion.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.phar-getstub"
></A
>Phar-&#62;getStub</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN179022"
></A
><P
>    (no version information, might be only in CVS)</P
>Phar-&#62;getStub&nbsp;--&nbsp;Return the PHP loader or bootstrap stub of a Phar archive</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN179025"
></A
><H2
>说明</H2
>string <B
CLASS="methodname"
>Phar-&#62;getStub</B
> ( void  )<BR
></BR
><P
>&#13;   One of the features that differentiates a Phar archive from other familiar archive
   formats like tar or zip is that a Phar archive is explicitly designed to be
   included to allow distributing an application or library that can be
   run without extraction directly from the archive.  In order to accomplish
   this, Phar archives contain a bootstrap loader, or <TT
CLASS="literal"
>stub</TT
>
   written in PHP that can perform any action.  
  </P
><DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>警告</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>All stubs must end with
   <TT
CLASS="literal"
>__HALT_COMPILER();</TT
> or the file is not a valid Phar archive.</P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN179036"
></A
><H2
>返回值</H2
><P
>&#13;   Returns a string containing the contents of the bootstrap loader (stub) of
   the current Phar archive.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN179039"
></A
><H2
>错误/异常</H2
><P
>&#13;   Throws <B
CLASS="classname"
>RuntimeException</B
> if it is not possible to read
   the stub from the Phar archive.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN179043"
></A
><H2
>范例</H2
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN179046"
></A
><P
><B
>例 1. A <B
CLASS="function"
>Phar-&#62;getStub()</B
> example</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
$p = new Phar('/path/to/my.phar', 0, 'my.phar');<br />echo $p-&gt;getStub();<br />echo "==NEXT==\n";<br />$p-&gt;setStub("<font color="#0000BB">&lt;?php<br /></font><font color="#007700">function </font><font color="#0000BB">__autoload</font><font color="#007700">(</font><font color="#0000BB">$class</font><font color="#007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;include </font><font color="#DD0000">'phar://' </font><font color="#007700">. </font><font color="#0000BB">str_replace</font><font color="#007700">(</font><font color="#DD0000">'_'</font><font color="#007700">, </font><font color="#DD0000">'/'</font><font color="#007700">, </font><font color="#0000BB">$class</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">Phar</font><font color="#007700">::</font><font color="#0000BB">mapPhar</font><font color="#007700">(</font><font color="#DD0000">'myphar.phar'</font><font color="#007700">);<br />include </font><font color="#DD0000">'phar://myphar.phar/startup.php'</font><font color="#007700">;<br /></font><font color="#0000BB">__HALT_COMPILER</font><font color="#007700">();</font><font color="#DD0000">");<br />echo $p</font><font color="#007700">-&gt;</font><font color="#DD0000">getStub();</font>
</font>
</code></TD
></TR
></TABLE
><P
>上例将输出:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>&#60;?php __HALT_COMPILER();
==NEXT==
&#60;?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN179052"
></A
><H2
>参见</H2
><P
>&#13;   <P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><A
HREF="function.phar-setstub.html"
><B
CLASS="function"
>Phar-&#62;setStub()</B
></A
></TD
></TR
></TBODY
></TABLE
><P
></P
>
  </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="function.phar-getsignature.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="function.phar-getversion.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Phar-&#62;getSignature</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.phar.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Phar-&#62;getVersion</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>