1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 16:52:12 +01:00
Files
archived-doc-ru/reference/reflection/reflectionparameter/construct.xml
2021-04-27 09:30:01 +03:00

160 lines
4.6 KiB
XML
Raw 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: f9c4a68ef4f89e51e6d9b905ad3ddb6492386dd3 Maintainer: tmn Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="reflectionparameter.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ReflectionParameter::__construct</refname>
<refpurpose>Конструктор</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<constructorsynopsis>
<modifier>public</modifier> <methodname>ReflectionParameter::__construct</methodname>
<methodparam><type class="union"><type>string</type><type>array</type><type>object</type></type><parameter>function</parameter></methodparam>
<methodparam><type class="union"><type>int</type><type>string</type></type><parameter>param</parameter></methodparam>
</constructorsynopsis>
<para>
Создаёт экземпляр <classname>ReflectionParameter</classname>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>function</parameter></term>
<listitem>
<para>
Функция, параметр которой требуется отразить.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>param</parameter></term>
<listitem>
<para>
Либо целое число (&integer;), указывающее позицию параметра (начиная с
нуля), либо имя параметра в виде строки (&string;).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Использования класса <classname>ReflectionParameter</classname></title>
<programlisting role="php">
<![CDATA[
<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }
$reflect = new ReflectionFunction('foo');
echo $reflect;
foreach ($reflect->getParameters() as $i => $param) {
printf(
"-- Аргумент #%d: %s {\n".
" Класс: %s\n".
" Допускает значения NULL: %s\n".
" Передаётся по ссылке: %s\n".
" Необязательный?: %s\n".
"}\n",
$i, // можно использовать $param->getPosition()
$param->getName(),
var_export($param->getClass(), 1),
var_export($param->allowsNull(), 1),
var_export($param->isPassedByReference(), 1),
$param->isOptional() ? 'да' : 'нет'
);
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Function [ <user> function foo ] {
@@ /Users/philip/cvs/phpdoc/a 2 - 2
- Parameters [3] {
Parameter #0 [ <required> $a ]
Parameter #1 [ <required> $b ]
Parameter #2 [ <required> $c ]
}
}
-- Аргумент #0: a {
Класс: NULL
Допускает значения NULL: true
Передаётся по ссылке: false
Необязательный?: нет
}
-- Аргумент #1: b {
Класс: NULL
Допускает значения NULL: true
Передаётся по ссылке: false
Необязательный?: нет
}
-- Аргумент #2: c {
Класс: NULL
Допускает значения NULL: true
Передаётся по ссылке: false
Необязательный?: нет
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>ReflectionFunctionAbstract::getParameters</methodname></member>
<member><methodname>ReflectionFunction::__construct</methodname></member>
<member><methodname>ReflectionMethod::__construct</methodname></member>
<member><link linkend="language.oop5.decon.constructor">Конструкторы</link></member>
</simplelist>
</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:"~/.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
-->