cvs: phpdoc-sk /reference/classobj reference.xml

[email protected] ("Joseph Drake")
Newsgroups php.doc.sk
Message-ID <cvsjoseph1046817628@cvsserver>
joseph		Tue Mar  4 17:40:28 2003 EDT

  Added files:                 
    /phpdoc-sk/reference/classobj	reference.xml 
  Log:
  new one
  

Index: phpdoc-sk/reference/classobj/reference.xml
+++ phpdoc-sk/reference/classobj/reference.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- EN-Revision: 1.6 Maintainer: joseph Status: ready -->
 <reference id="ref.classobj">
  <title>Funkcie Tried/Objektov</title>
  <titleabbrev>Classes/Objects</titleabbrev>

  <partintro>
    <section id="classobj.intro">
     &reftitle.intro;
     <para>
      Tieto funkcie vám umo¾òujú získa» informácie o triedach
      a in¹tanciách objektov. Mô¾ete získa» názov triedy, do ktorej
      objekt patrí, rovnako ako jeho vlastnosti a metódy. Pomocou 
      týchto funkcií mô¾ete zisti» nie len triedne èlenstvo objektu,
      ale aj jeho rodièovstvo (t.j. akej triedy je trieda objektu
      roz¹írením).
     </para>
    </section>

   <section id="classobj.requirements">
    &reftitle.required;
    &no.requirement;
   </section>

   <section id="classobj.installation">
    &reftitle.install;
    &no.install;
   </section>

   <section id="classobj.configuration">
    &reftitle.runtime;
    &no.config;
   </section>

   <section id="classobj.resources">
    &reftitle.resources;
    &no.resource;
   </section>

   <section id="classobj.constants">
    &reftitle.constants;
    &no.constants;
   </section>

    <section id="classobj.examples">
     &reftitle.examples;
     <para>
      V tomto príklade najprv definujeme základnú triedu a roz¹írenie
      triedy. Základná trieda popisuje obyèajnú zeleninu, èi je jedlá
      alebo nie a akej je farby. Podtrieda <varname>Spenat</varname>
      pridáva spôsob jej varenia a ïal¹ia zis»uje, èi je uvarená.
     </para>
     <para>
      <example>
       <title>classes.inc</title>
       <programlisting role="php">
<![CDATA[
<?php

// základná trieda s èlenskými vlastnos»ami a metódami
class Zelenina {

    var $jedla;
    var $farba;

    function Zelenina( $jedla, $farba="green" ) {
        $this->jedla = $jedla;
        $this->farba = $farba;
    }

    function je_jedla() {
        return $this->jedla;
    }

    function aka_farba() {
        return $this->farba;
    }
    
} // koniec triedy Zelenina

// rozsirenie zakladnej triedy
class Spenat extends Zelenina {

    var $varena = false;

    function Spenat() {
        $this->Zelenina( true, "green" );
    }

    function varit_ju() {
        $this->varena = true;
    }

    function je_uvarena() {
        return $this->varena;
    }
    
} // koniec triedy Spenat

?>
]]>
       </programlisting>
      </example>
     </para>
     <para>
     Potom in¹tancujeme 2 ojekty z týchto tried a vypí¹eme o nich
     informácie, vrátane ich triednej príslu¹nosti. Tie¾ definujeme
     nejaké prektické funkcie, hlavne kvôli peknému výpisu premenných.
     </para>
     <para>
      <example>
       <title>test_script.php</title>
       <programlisting role="php">
<![CDATA[
<pre>
<?php

include "classes.inc";

// prakticke funkcie

function print_vars($obj) {
    $arr = get_object_vars($obj);
    while (list($prop, $val) = each($arr))
        echo "\t$prop = $val\n";
}

function print_methods($obj) {
    $arr = get_class_methods(get_class($obj));
    foreach ($arr as $method)
        echo "\tfunkcia $method()\n";
}

function class_parentage($obj, $class) {
    global $$obj;
    if (is_subclass_of($$obj, $class)) {
        echo "Objekt $obj patri do triedy ".get_class($$obj);
        echo " podtriedy $class\n";
    } else {
        echo "Objekt $obj nepatri do podtriedy $class\n";
    }
}

// instancovanie 2 objektov

$veggie = new Zelenina(true,"blue");
$leafy = new Spenat();

// vypis informacii o objektoch
echo "veggie: CLASS ".get_class($veggie)."\n";
echo "leafy: CLASS ".get_class($leafy);
echo ", PARENT ".get_parent_class($leafy)."\n";

// show veggie properties
echo "\nveggie: Vlastnosti\n";
print_vars($veggie);

// and leafy methods
echo "\nleafy: Metody\n";
print_methods($leafy);

echo "\nRodicovstvo:\n";
class_parentage("leafy", "Spenat");
class_parentage("leafy", "Zelenina");
?>
</pre>
]]>
       </programlisting>
      </example>
     </para>
     <para>
      Je dôle¾ité poznamena», ¾e v horeuvedenom príklade je
      objekt <varname>$leafy</varname> in¹tanciou triedy
      <classname>Spenat</classname>, ktorá je podtriedou 
      <classname>Zelenina</classname>,
      preto posledná èas» horeuvedného skriptu bude ma» výstup:
     </para>
     <para>
      <informalexample>
       <programlisting>
<![CDATA[
       [...]
Rodicovstvo:
Objekt leafy nepatri do podtriedy Spenat
Objekt leafy patri do tridy spenat podtriedy Zelenina
]]>
       </programlisting>
      </informalexample>
     </para>
    </section>
  </partintro>

&reference.classobj.functions;

 </reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.