Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > main > by-pkgid > 0afeee9cca140e167a996902b9a677c5 > files > 3281

php-manual-en-4.3.0-2mdk.noarch.rpm

<HTML
><HEAD
><TITLE
>Objects</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="PHP Manual"
HREF="index.html"><LINK
REL="UP"
TITLE="Creating Variables"
HREF="zend.variables.html"><LINK
REL="PREVIOUS"
TITLE="Arrays"
HREF="zend.variables.array.html"><LINK
REL="NEXT"
TITLE="Resources"
HREF="zend.variables.resource.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=ISO-8859-1"></HEAD
><BODY
CLASS="section"
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 Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="zend.variables.array.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 33. Creating Variables</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="zend.variables.resource.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="zend.variables.object"
></A
>Objects</H1
><P
>&#13;    Since objects can be converted to arrays (and vice versa), you
    might have already guessed that they have a lot of similarities to
    arrays in PHP. Objects are maintained with the same hash
    functions, but there's a different API for creating them.
   </P
><P
>&#13;    To initialize an object, you use the
    function <B
CLASS="function"
>object_init()</B
>: 
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}</PRE
></TD
></TR
></TABLE
>
    You can use the functions described in 
    <A
HREF="zend.variables.object.html#tab.object-creation"
>Table 33-4</A
> 
    to add members to your object.
   </P
><DIV
CLASS="table"
><A
NAME="tab.object-creation"
></A
><P
><B
>Table 33-4. Zend's API for Object Creation</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Function</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Description</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_long(zval *object, char *key, long
          l);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a long to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_unset(zval *object, char
          *key);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds an unset property to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_bool(zval *object, char *key, int
          b);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a Boolean to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_resource(zval *object, char *key,
          long r);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a resource to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_double(zval *object, char *key,
          double d);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a double to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_string(zval *object, char *key,
          char *str, int duplicate);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a string to the object.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="function"
>add_property_stringl(zval *object, char *key,
          char *str, uint length, int duplicate);()</B
></TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>Adds a string of the specified length to the object. This
         function is faster than <B
CLASS="function"
>add_property_string()</B
> and also
         binary-safe.</TD
></TR
><TR
><TD
WIDTH="55%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>&#13;         <B
CLASS="function"
>add_property_zval(zval *obect, char *key, zval *container):()</B
>
        </TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="MIDDLE"
>&#13;         Adds a <TT
CLASS="literal"
>zval</TT
> container to the object. This is useful if you
         have to add properties which aren't simple types like integers or strings but
         arrays or other objects.
        </TD
></TR
></TBODY
></TABLE
></DIV
></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="zend.variables.array.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="zend.variables.resource.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Arrays</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="zend.variables.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Resources</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>