1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/reference/reflection/reflectionparameter/construct.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

152 lines
4.5 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: ec2fe9a592f794978114ef5021db9f1d00c2e05d Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<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 role="ReflectionParameter">
<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="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
-->