Files
php-doc-ru/reference/uopz/functions/uopz-extend.xml
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

111 lines
2.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5c724a01a192e135bf165399d9b25caf6099482a Maintainer: lex Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.uopz-extend" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>uopz_extend</refname>
<refpurpose>Расширить класс во время выполнения</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>uopz_extend</methodname>
<methodparam><type>string</type><parameter>class</parameter></methodparam>
<methodparam><type>string</type><parameter>parent</parameter></methodparam>
</methodsynopsis>
<para>
Расширяет текущий класс <parameter>class</parameter> родительским <parameter>parent</parameter>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>class</parameter></term>
<listitem>
<para>
Название класса для расширения
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>parent</parameter></term>
<listitem>
<para>
Название класса для наследования
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<simpara>
Начиная с PHP 7.4.0, <function>uopz_extends</function> выбрасывает <classname>RuntimeException</classname>,
если <link linkend="book.opcache">OPcache</link> включён
и запись класса либо <parameter>class</parameter>,
либо <parameter>parent</parameter> (если это признак) неизменны.
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>uopz_extend</function></title>
<programlisting role="php">
<![CDATA[
<?php
class A {}
class B {}
uopz_extend(A::class, B::class);
var_dump(class_parents(A::class));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(1) {
["B"]=>
string(1) "B"
}
]]>
</screen>
</example>
</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:"~/.phpdoc/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
-->