cvs: phpdoc-el /reference/classobj reference.xml /reference/classobj/functions call-user-method-array.xml call-user-method.xml class-exists.xml get-class-methods.xml get-class-vars.xml get-class.xml get-declared-classes.xml get-object-vars.xml get-parent-class.xml is-a.xml is-subclass-of.xml method-exists.xml
[email protected] ("Dimitris Glezos") Mon, 12 Jan 2004 20:29:36 -0000
| Newsgroups | php.doc.el |
|---|---|
| Message-ID | <cvssubbie1073939376@cvsserver> |
subbie Mon Jan 12 15:29:36 2004 EDT
Added files:
/phpdoc-el/reference/classobj reference.xml
/phpdoc-el/reference/classobj/functions call-user-method-array.xml
call-user-method.xml
class-exists.xml
get-class-methods.xml
get-class-vars.xml
get-class.xml
get-declared-classes.xml
get-object-vars.xml
get-parent-class.xml
is-a.xml is-subclass-of.xml
method-exists.xml
Log:
added classobj
subbie-20040112152936.txt
(text/plain, 36.8 KB)
Index: phpdoc-el/reference/classobj/reference.xml
+++ phpdoc-el/reference/classobj/reference.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.11 Maintainer: stratis Status: ready -->
<reference id="ref.classobj">
<title>ÓõíáñôÞóåéò ÊëÜóåùí/ÁíôéêåéìÝíùí</title>
<titleabbrev>ÊëÜóåéò/Áíôéêåßìåíá</titleabbrev>
<partintro>
<section id="classobj.intro">
&reftitle.intro;
<para>
Ïé óõíáñôÞóåéò áõôÝò óáò åðéôñÝðïõí íá áíáêôÞóåôå ðëçñïöïñßåò
ãéá ôéò êëÜóåéò êáé ôá óôéãìéüôõðá ôïõò. Ìðïñåßôå íá áíáêôÞóåôå
ôï üíïìá ôçò êëÜóçò óôçí ïðïßá áíÞêåé Ýíá áíôéêåßìåíï, êáèþò êáé
ôéò ìåôáâëçôÝò êáé ôéò ìåèüäïõò ôïõ. ×ñçóéìïðïéþíôáò áõôÝò ôéò
óõíáñôÞóåéò, ìðïñåßôå íá ìÜèåôå ü÷é ìüíï ôçí êëÜóç åíüò áíôéêåéìÝíïõ,
áëëÜ êáé ôéò õðåñêëÜóåéò ôïõ (áðü ðïéÜ êëÜóç êëçñïíïìåß
ôï áíôéêåßìåíï).
</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>
Óå áõôü ôï ðáñÜäåéãìá, ðñþôá ïñßæïõìå ìéá êëÜóç-âÜóç êáé ìåôÜ
ìéá êëÜóç êëçñïíüìï. Ç êëÜóç-âÜóç ðåñéãñÜöåé Ýíá ãåíéêü ëá÷áíéêü,
áí åßíáé âñþóéìï Þ ü÷é, êáé ôï ÷ñþìá ôïõ. Ç êëÜóç êëçñïíüìïò
<varname>Spinach</varname> ðñïóèÝôåé ìéá ìÝèïäï ãéá ôï ìáãåßñåìá
êáé áêüìá ìéá ðïõ åðéóôñÝöåé áí åßíáé ìáãåéñåìÝíï.
</para>
<para>
<example>
<title>classes.inc</title>
<programlisting role="php">
<![CDATA[
<?php
// êëÜóç-âÜóç ìå ìåôáâëçôÝò êáé ìåèüäïõò
class Vegetable {
var $edible;
var $color;
function Vegetable($edible, $color="green") {
$this->edible = $edible;
$this->color = $color;
}
function is_edible() {
return $this->edible;
}
function what_color() {
return $this->color;
}
} // ôÝëïò êëÜóçò Vegetable
// åðÝêôáóç êëÜóçò-âÜóçò
class Spinach extends Vegetable {
var $cooked = false;
function Spinach() {
$this->Vegetable(true, "green");
}
function cook_it() {
$this->cooked = true;
}
function is_cooked() {
return $this->cooked;
}
} // ôÝëïò êëÜóçò Spinach
?>
]]>
</programlisting>
</example>
</para>
<para>
Áêïëïýèùò äçìéïõñãïýìå äõï óôéãìéüôõðá áðü áõôÝò ôéò êëÜóåéò
êáé ôõðþíïõìå ðëçñïöïñßåò ãéá áõôÜ, óõìðåñéëáìâáíïìÝíçò ôçò
õðåñêëÜóçò ôïõò. Ïñßæïõìå åðßóçò ìåñéêÝò âïçèçôéêÝò óõíáñôÞóåéò,
êõñßùò ãéá íá åßíáé êáëáéóèçôéêü ôï ôýðùìá ôùí ìåôáâëçôþí.
</para>
<para>
<example>
<title>test_script.php</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
include "classes.inc";
// âïçèçôéêÝò óõíáñôÞóåéò
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 "\tfunction $method()\n";
}
function class_parentage($obj, $class) {
if (is_subclass_of($GLOBALS[$obj], $class)) {
echo "Object $obj belongs to class " . get_class($$obj);
echo " a subclass of $class\n";
} else {
echo "Object $obj does not belong to a subclass of $class\n";
}
}
// äçìéïõñãïýìå 2 óôéãìéüôõðá
$veggie = new Vegetable(true, "blue");
$leafy = new Spinach();
// ôõðþíïõìå ðëçñïöïñßåò ãéá áõôÜ ôá óôéãìéüôõðá
echo "veggie: CLASS " . get_class($veggie) . "\n";
echo "leafy: CLASS " . get_class($leafy);
echo ", PARENT " . get_parent_class($leafy) . "\n";
// ôõðþíïõìå ôéò ìåôáâëçôÝò ôçò êëÜóçò-âÜóçò
echo "\nveggie: Properties\n";
print_vars($veggie);
// êáé ôéò ìåèüäïõò ôçò êëÜóçò-êëçñïíüìïõ
echo "\nleafy: Methods\n";
print_methods($leafy);
echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>
]]>
</programlisting>
<para>
Ìéá óçìáíôéêÞ ðáñáôÞñçóç ó÷åôéêÜ ìå ôï ðéï ðÜíù ðáñÜäåéãìá
åßíáé üôé ôï áíôéêåßìåíï <varname>$leafy</varname> åßíáé
Ýíá óôéãìéüôõðï ôçò êëÜóçò <classname>Spinach</classname>, ç
ïðïßá åßíáé õðïêëÜóç ôïõ <classname>Vegetable</classname>,
óõíåðþò ôï ôåëåõôáßï ìÝñïò ôïõ script èá ôõðþóåé:
</para>
<screen>
<![CDATA[
[...]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable
]]>
</screen>
</example>
</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
-->
Index: phpdoc-el/reference/classobj/functions/call-user-method-array.xml
+++ phpdoc-el/reference/classobj/functions/call-user-method-array.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.36 -->
<refentry id="function.call-user-method-array">
<refnamediv>
<refname>call_user_method_array</refname>
<refpurpose>
Êáëåß ìéá ìÝèïäï ìå Ýíá array áðü ðáñáìÝôñïõò [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>mixed</type><methodname>call_user_method_array</methodname>
<methodparam><type>string</type><parameter>method_name</parameter></methodparam>
<methodparam><type>object</type><parameter>obj</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>paramarr</parameter></methodparam>
</methodsynopsis>
<warning>
<para>
Ç óõíÜñôçóç <function>call_user_method_array</function> åßíáé deprecated
áðü ôçí Ýêäïóç PHP 4.1.0, áíôß áõôÞò ÷ñçóéìïðïéÞóôå ôï
<function>call_user_func_array</function> ìå ôç óýíôáîç
<literal>array(&$obj, "method_name")</literal>.
</para>
</warning>
<para>
Êáëåß ôç ìÝèïäï <parameter>method_name</parameter> ôïõ ïñéóìÝíïõ áðü
ôï ÷ñÞóôç áíôéêåéìÝíïõ <parameter>obj</parameter>, ÷ñçóéìïðïéþíôáò
ôéò ðáñáìÝôñïõò ìÝóá óôï <parameter>paramarr</parameter> array.
</para>
<para>
Äåßôå åðßóçò:
<function>call_user_func_array</function>, êáé
<function>call_user_func</function>.
</para>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/call-user-method.xml
+++ phpdoc-el/reference/classobj/functions/call-user-method.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.7 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.4 -->
<refentry id="function.call-user-method">
<refnamediv>
<refname>call_user_method</refname>
<refpurpose>
Êáëåß ìéá ìÝèïäï åíüò áíôéêåéìÝíïõ [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>mixed</type><methodname>call_user_method</methodname>
<methodparam><type>string</type><parameter>method_name</parameter></methodparam>
<methodparam><type>object</type><parameter>obj</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>parameter</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<warning>
<para>
Ç óõíÜñôçóç <function>call_user_method</function> åßíáé deprecated áðü
ôçí Ýêäïóç PHP 4.1.0. Aíôß áõôÞò ÷ñçóéìïðïéÞóôå ôç <function>call_user_func</function>
ìå ôç óýíôáîç <literal>array(&$obj, "method_name")</literal>.
</warning>
<para>
Êáëåß ôç ìÝèïäï <parameter>method_name</parameter> ôïõ ïñéóìÝíïõ áðü
ôï ÷ñÞóôç áíôéêåéìÝíïõ <parameter>obj</parameter>. Áêïëïõèåß Ýíá ðáñÜäåéãìá
ôçò ÷ñÞóçò ôçò óõíÜñôçóçò, óôï ïðïßï ïñßæïõìå ìéá êëÜóç, äçìéïõñãïýìå Ýíá
óôéãìéüôõðï êáé ÷ñçóéìïðïéïýìå ôç óõíÜñôçóç <function>call_user_method</function>
ãéá íá êáëÝóïõìå Ýììåóá ôç ìÝèïäï <varname>print_info</varname>.
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
class Country {
var $NAME;
var $TLD;
function Country($name, $tld) {
$this->NAME = $name;
$this->TLD = $tld;
}
function print_info($prestr = "") {
echo $prestr . "Country: " . $this->NAME . "\n";
echo $prestr . "Top Level Domain: " . $this->TLD . "\n";
}
}
$cntry = new Country("Peru", "pe");
echo "* Calling the object method directly\n";
$cntry->print_info();
echo "\n* Calling the same method indirectly\n";
call_user_method("print_info", $cntry, "\t");
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Äåßôå åðßóçò <function>call_user_func_array</function>, êáé
<function>call_user_func</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/class-exists.xml
+++ phpdoc-el/reference/classobj/functions/class-exists.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.3 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.11 -->
<refentry id="function.class-exists">
<refnamediv>
<refname>class_exists</refname>
<refpurpose>ÅëÝã÷åé åÜí ç êëÜóç Ý÷åé ïñéóôåß</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>bool</type><methodname>class_exists</methodname>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç åðéóôñÝöåé &true; åÜí ç êëÜóç
<parameter>class_name</parameter> Ý÷åé ïñéóôåß,
êáé &false; åÜí ü÷é.
</para>
<simpara>
Äåßôå åðßóçò <function>get_declared_classes</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-class-methods.xml
+++ phpdoc-el/reference/classobj/functions/get-class-methods.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.6 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.2 -->
<refentry id="function.get-class-methods">
<refnamediv>
<refname>get_class_methods</refname>
<refpurpose>ÅðéóôñÝöåé Ýíá array ìå ôá ïíüìáôá ôùí ìåèüäùí ôçò êëÜóçò</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>array</type><methodname>get_class_methods</methodname>
<methodparam><type>mixed</type><parameter>class_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç åðéóôñÝöåé Ýíá array ìå ôá ïíüìáôá ôùí ìåèüäùí ðïõ
Ý÷ïõí ïñéóôåß ãéá ôçí êëÜóç <parameter>class_name</parameter>.
</para>
<note>
<para>
Áðü ôçí Ýêäïóç PHP 4.0.6, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ùò ðáñÜìåôñï
ôï ßäéï ôï óôéãìéüôõðï áíôß ôïõ ïíüìáôïò ôçò êëÜóçò
<parameter>class_name</parameter>. Ãéá ðáñÜäåéãìá:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$class_methods = get_class_methods($my_class); // äåßôå ïëüêëçñï ôï ðáñÜäåéãìá ðéï êÜôù
?>
]]>
</programlisting>
</informalexample>
</para>
</note>
<para>
<example>
<title>ÐáñÜäåéãìá <function>get_class_methods</function></title>
<programlisting role="php">
<![CDATA[
<?php
class myclass {
// constructor
function myclass() {
return(true);
}
// ìÝèïäïò 1
function myfunc1() {
return(true);
}
// ìÝèïäïò 2
function myfunc2() {
return(true);
}
}
$my_object = new myclass();
$class_methods = get_class_methods(get_class($my_object));
foreach ($class_methods as $method_name) {
echo "$method_name\n";
}
?>
]]>
</programlisting>
<para>
Èá ôõðþóåé:
</para>
<screen>
<![CDATA[
myclass
myfunc1
myfunc2
]]>
</screen>
</example>
</para>
<simpara>
Äåßôå åðßóçò <function>get_class_vars</function> and
<function>get_object_vars</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-class-vars.xml
+++ phpdoc-el/reference/classobj/functions/get-class-vars.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.7 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.1 -->
<refentry id="function.get-class-vars">
<refnamediv>
<refname>get_class_vars</refname>
<refpurpose>
ÅðéóôñÝöåé Ýíá array ìå ôéò ðñïêáèïñéóìÝíåò ìåôáâëçôÝò ôçò êëÜóçò
</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>array</type><methodname>get_class_vars</methodname>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç áõôÞ åðéóôñÝöåé Ýíá associative array ôùí
ðñïêáèïñéóìÝíùí ìåôáâëçôþí ôçò êëÜóçò. Ôá óôïé÷åßá ôïõ array
ðïõ åðéóôñÝöåôáé åßíáé ôçò ìïñöÞò <parameter>varname => value</parameter>.
</para>
<note>
<para>
Ðñéí áðü ôçí Ýêäïóç PHP 4.2.0, ìåôáâëçôÝò ôçò êëÜóçò ðïõ äåí Ý÷ïõí
áñ÷éêïðïéçèåß äåí åðéóôñÝöïíôáé áðü ôçí óõíÜñôçóç <function>get_class_vars</function>.
</para>
</note>
<para>
<example>
<title>ÐáñÜäåéãìá <function>get_class_vars</function></title>
<programlisting role="php">
<![CDATA[
<?php
class myclass {
var $var1; // ç ìåôáâëçôÞ áõôÞ äåí Ý÷åé áñ÷éêïðïéçèåß...
var $var2 = "xyz";
var $var3 = 100;
// constructor
function myclass() {
// áëëáãÞ êÜðïéùí ìåôáâëçôþí
$this->var1 = "foo";
$this->var2 = "bar";
return true;
}
}
$my_class = new myclass();
$class_vars = get_class_vars(get_class($my_class));
foreach ($class_vars as $name => $value) {
echo "$name : $value\n";
}
?>
]]>
</programlisting>
<para>
Èá ôõðþóåé:
</para>
<screen>
<![CDATA[
// Ðñéí áðü ôçí Ýêäïóç PHP 4.2.0
var2 : xyz
var3 : 100
// Áðü ôçí Ýêäïóç PHP 4.2.0 êáé ìåôÜ
var1 :
var2 : xyz
var3 : 100
]]>
</screen>
</example>
</para>
<simpara>
Äåßôå åðßóçò <function>get_class_methods</function>,
<function>get_object_vars</function>
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-class.xml
+++ phpdoc-el/reference/classobj/functions/get-class.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.4 -->
<refentry id="function.get-class">
<refnamediv>
<refname>get_class</refname>
<refpurpose>ÅðéóôñÝöåé ôï üíïìá ôçò êëÜóçò åíüò áíôéêåéìÝíïõ</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>string</type><methodname>get_class</methodname>
<methodparam><type>object</type><parameter>obj</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç áõôÞ åðéóôñÝöåé ôï üíïìá ôçò êëÜóçò ôçò ïðïßáò ôï
áíôéêåßìåíï <parameter>obj</parameter> åßíáé Ýíá óôéãìéüôõðï.
ÅðéóôñÝöåé &false; áí ôï <parameter>obj</parameter> äåí åßíáé
áíôéêåßìåíï.
</para>
<note>
<simpara>
Ç óõíÜñôçóç <function>get_class</function> åðéóôñÝöåé óå ìéêñÜ ãñÜììáôá
ôéò êëÜóåéò ðïõ Ý÷ïõí ïñéóôåß áðü ôïí ÷ñÞóôç. Ïé êëÜóåéò ðïõ Ý÷ïõí
ïñéóôåß áðü ôçí PHP åðéóôñÝöïíôáé ìå ôï áñ÷éêü ôïõò üíïìá, ÷ùñßò áëëáãÞ
óôá êåöáëáßá.
</simpara>
</note>
<para>
<example>
<title>Using <function>get_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
class foo {
function foo() {
// óõíÜñôçóç ìå êÜðïéï êþäéêá
}
function name() {
echo "My name is " , get_class($this) , "\n";
}
}
// äçìéïõñãïýìå Ýíá áíôéêåßìåíï
$bar = new foo();
// êëÞóç ôçò óõíÜñôçóçò Ýîù áðü ôï áíôéêåßìåíï
echo "Its name is " , get_class($bar) , "\n";
// êáé ìÝóá áðü ôï áíôéêåßìåíï
$bar->name();
?>
]]>
</programlisting>
<para>
Èá ôõðþóåé:
</para>
<screen>
<![CDATA[
Its name is foo
My name is foo
]]>
</screen>
</example>
</para>
<para>
Äåßôå åðßóçò <function>get_parent_class</function>,
<function>gettype</function>, êáé
<function>is_subclass_of</function>.
</para>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-declared-classes.xml
+++ phpdoc-el/reference/classobj/functions/get-declared-classes.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.3 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.11 -->
<refentry id="function.get-declared-classes">
<refnamediv>
<refname>get_declared_classes</refname>
<refpurpose>ÅðéóôñÝöåé Ýíá array ìå ôá ïíüìáôá ôùí êëÜóåùí ðïõ Ý÷ïõí ïñéóôåß</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>array</type><methodname>get_declared_classes</methodname>
<void/>
</methodsynopsis>
<para>
Ç óõíÜñôçóç åðéóôñÝöåé Ýíá array ìå ôá ïíüìáôá ôùí êëÜóåùí ðïõ
Ý÷ïõí ïñéóôåß óå áõôü ôï script.
</para>
<note>
<para>
Óôçí Ýêäïóç PHP 4.0.1pl2, ôñåéò åðéðëÝïí êëÜóåéò åðéóôñÝöïíôáé
óôçí áñ÷Þ ôïõ array: <classname>stdClass</classname> (ïñéóìÝíç óôï
<filename>Zend/zend.c</filename>), <classname>OverloadedTestClass</classname>
(ïñéóìÝíç óôï <filename>ext/standard/basic_functions.c</filename>)
êáé <classname>Directory</classname>
(ïñéóìÝíç óôï <filename>ext/standard/dir.c</filename>).
</para>
<para>
Óçìåéþóôå åðßóçò üôé áíáëüãùò ôùí libraries ðïõ Ý÷åôå êÜíåé compile
óôçí PHP, åðéðñüóèåôåò êëÜóåéò ìðïñåß íá åßíáé ðáñïýóåò. Áõôü óçìáßíåé
üôé äåí èá ìðïñåßôå íá ïñßóåôå äéêÝò óáò êëÜóåéò ìå áõôÜ ôá ïíüìáôá.
ÕðÜñ÷åé ìéá ëßóôá ìå ôá ïíüìáôá ôùí ðñïêáèïñéóìÝíùí êëÜóåùí óôï
êåöÜëáéï <link linkend="reserved.classes">ÐñïêáèïñéóìÝíåò ÊëÜóåéò</link>
óôéò ÐñïóèÞêåò.
</para>
</note>
<simpara>
Äåßôå åðßóçò <function>class_exists</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-object-vars.xml
+++ phpdoc-el/reference/classobj/functions/get-object-vars.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.5 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.1 -->
<refentry id="function.get-object-vars">
<refnamediv>
<refname>get_object_vars</refname>
<refpurpose>ÅðéóôñÝöåé Ýíá associative array ìå ôéò ìåôáâëçôÝò ôïõ áíôéêåéìÝíïõ</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>array</type><methodname>get_object_vars</methodname>
<methodparam><type>object</type><parameter>obj</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç åðéóôñÝöåé Ýíá associative array ìå ôéò ìåôáâëçôÝò ðïõ Ý÷ïõí
ïñéóôåß óôï áíôéêåßìåíï<parameter>obj</parameter>.
</para>
<note>
<para>
Óôéò åêäüóåéò ðñéí áðü ôçí PHP 4.2.0, åÜí ïé ìåôáâëçôÝò ôçò êëÜóçò ôçò ïðïßáò
ôï áíôéêåßìåíï <parameter>obj</parameter> åßíáé Ýíá óôéãìéüôõðï äåí Ý÷ïõí
áñ÷éêïðïéçèåß, ôüôå äåí åðéóôñÝöïíôáé óôï array. Óôéò åêäüóåéò ìåôÜ ôçí
PHP 4.2.0, óôï áíôßóôïé÷ï êëåéäß ôïõ array èá áíáôåèåß ç ôéìÞ
<constant>NULL</constant>.
</para>
</note>
<para>
<example>
<title>×ñÞóç ôçò óõíÜñôçóçò <function>get_object_vars</function></title>
<programlisting role="php">
<![CDATA[
<?php
class Point2D {
var $x, $y;
var $label;
function Point2D($x, $y) {
$this->x = $x;
$this->y = $y;
}
function setLabel($label) {
$this->label = $label;
}
function getPoint() {
return array("x" => $this->x,
"y" => $this->y,
"label" => $this->label);
}
}
// ç ìåôáâëçôÞ "$label" ïñßæåôáé áëëÜ äåí áñ÷éêïðïéåßôáé
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));
$p1->setLabel("point #1");
print_r(get_object_vars($p1));
?>
]]>
</programlisting>
<para>
Ôï ðéï ðÜíù ðñüãñáììá èá ôõðþóåé:
</para>
<screen>
<![CDATA[
Array
(
[x] => 1.233
[y] => 3.445
[label] =>
)
Array
(
[x] => 1.233
[y] => 3.445
[label] => point #1
)
]]>
</screen>
</example>
</para>
<simpara>
Äåßôå åðßóçò <function>get_class_methods</function> êáé
<function>get_class_vars</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/get-parent-class.xml
+++ phpdoc-el/reference/classobj/functions/get-parent-class.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.4 -->
<refentry id="function.get-parent-class">
<refnamediv>
<refname>get_parent_class</refname>
<refpurpose>ÅðéóôñÝöåé ôï üíïìá ôçò õðåñêëÜóçò ãéá ôï áíôéêåßìåíï Þ ôçí êëÜóç</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>string</type><methodname>get_parent_class</methodname>
<methodparam><type>mixed</type><parameter>obj</parameter></methodparam>
</methodsynopsis>
<para>
ÅÜí ôï <parameter>obj</parameter> åßíáé áíôéêåßìåíï, ç óõíÜñôçóç åðéóôñÝöåé ôï
üíïìá ôçò õðåñêëÜóçò ôçò êëÜóçò ôçò ïðïßáò ôï <parameter>obj</parameter>
åßíáé óôéãìéüôõðï.
</para>
<para>
ÅÜí ôï <parameter>obj</parameter> åßíáé string, ç óõíÜñôçóç
åðéóôñÝöåé ôï üíïìá ôçò õðåñêëÜóçò ôçò êëÜóçò ìå ôï üíïìá ðïõ õðïäåéêíýåôáé
áðü ôï string. Ç ëåéôïõñãéêüôçôá áõôÞ Ý÷åé ðñïóôåèåß áðü ôçí
Ýêäïóç PHP 4.0.5.
</para>
<para>
<example>
<title>×ñÞóç ôçò óõíÜñôçóçò <function>get_parent_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
class dad {
function dad() {
// êþäéêáò ôçò óõíÜñôçóçò åäþ
}
}
class child extends dad {
function child() {
echo "I'm " , get_parent_class($this) , "'s son\n";
}
}
class child2 extends dad {
function child2() {
echo "I'm " , get_parent_class('child2') , "'s son too\n";
}
}
$foo = new child();
$bar = new child2();
?>
]]>
</programlisting>
<para>
Ôï ðñüãñáììá èá ôõðþóåé:
</para>
<screen>
<![CDATA[
I'm dad's son
I'm dad's son too
]]>
</screen>
</example>
</para>
<para>
Äåßôå åðßóçò <function>get_class</function> êáé
<function>is_subclass_of</function>.
</para>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/is-a.xml
+++ phpdoc-el/reference/classobj/functions/is-a.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.3 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.33 -->
<refentry id="function.is-a">
<refnamediv>
<refname>is_a</refname>
<refpurpose>
ÅðéóôñÝöåé &true; åÜí ôï áíôéêåßìåíï åßíáé áõôÞò ôçò êëÜóçò Þ åÜí áõôÞ ç êëÜóç
åßíáé õðåñêëÜóç ôïõ áíôéêåéìÝíïõ.
</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>bool</type><methodname>is_a</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç áõôÞ åðéóôñÝöåé &true; åÜí ôï áíôéêåßìåíï åßíáé áõôÞò ôçò êëÜóçò
Þ åÜí áõôÞ ç êëÜóç åßíáé õðåñêëÜóç ôïõ áíôéêåéìÝíïõ, åéäÜëëùò åðéóôñÝöåé &false;.
</para>
<simpara>
Äåßôå åðßóçò <function>get_class</function>,
<function>get_parent_class</function>, êáé
<function>is_subclass_of</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/is-subclass-of.xml
+++ phpdoc-el/reference/classobj/functions/is-subclass-of.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.3 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.4 -->
<refentry id="function.is-subclass-of">
<refnamediv>
<refname>is_subclass_of</refname>
<refpurpose>
ÅðéóôñÝöåé &true; åÜí áõôÞ ç êëÜóç åßíáé õðåñêëÜóç ôïõ áíôéêåéìÝíïõ
</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>bool</type><methodname>is_subclass_of</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç áõôÞ åðéóôñÝöåé &true; åÜí ôï áíôéêåßìåíï <parameter>object</parameter>
áíÞêåé óå êëÜóç ç ïðïßá åßíáé õðïêëÜóç ôçò <parameter>class_name</parameter>, åéäÜëëùò
åðéóôñÝöåé &false;.
</para>
<simpara>
Äåßôå åðßóçò <function>get_class</function>,
<function>get_parent_class</function> êáé
<function>is_a</function>.
</simpara>
</refsect1>
</refentry>
<!-- 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
-->
Index: phpdoc-el/reference/classobj/functions/method-exists.xml
+++ phpdoc-el/reference/classobj/functions/method-exists.xml
<?xml version="1.0" encoding="iso-8859-7"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.2 Maintainer: stratis Status: ready -->
<!-- splitted from ./en/functions/classobj.xml, last change in rev 1.9 -->
<refentry id="function.method-exists">
<refnamediv>
<refname>method_exists</refname>
<refpurpose>ÅëÝã÷åé åÜí ç ìÝèïäïò Ý÷åé ïñéóôåß óôçí êëÜóç</refpurpose>
</refnamediv>
<refsect1>
<title>ÐåñéãñáöÞ</title>
<methodsynopsis>
<type>bool</type><methodname>method_exists</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
<methodparam><type>string</type><parameter>method_name</parameter></methodparam>
</methodsynopsis>
<para>
Ç óõíÜñôçóç åðéóôñÝöåé &true; åÜí ç ìÝèïäïò <parameter>method_name</parameter>
Ý÷åé ïñéóôåß ãéá ôï áíôéêåßìåíï <parameter>object</parameter>, åéäÜëëùò åðéóôñÝöåé &false;.
</para>
</refsect1>
</refentry>
<!-- 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
-->