mirror of
https://github.com/php/doc-ru.git
synced 2025-07-24 09:59:46 +00:00
new
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@343234 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- EN-Revision: b90505533de3950c34838bd3715e3e40088c9a05 Maintainer: irker Status: ready -->
|
<!-- EN-Revision: 5e40a5a43dffadda040c030eaa12d88510a0987c Maintainer: irker Status: ready -->
|
||||||
<!-- Reviewed: yes -->
|
<!-- Reviewed: yes -->
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
|
|
||||||
@ -41,31 +41,31 @@ class SimpleClass
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Псевдо-переменная <varname>$this</varname> доступна в том случае,
|
Псевдо-переменная <varname>$this</varname> доступна в том случае,
|
||||||
если метод был вызван в контексте объекта. <varname>$this</varname>
|
если метод был вызван в контексте объекта. <varname>$this</varname>
|
||||||
является ссылкой на вызываемый объект. Обычно это тот объект, которому
|
является ссылкой на вызываемый объект. Обычно это тот объект, которому
|
||||||
принадлежит вызванный метод, но может быть и другой объект, если метод был
|
принадлежит вызванный метод, но может быть и другой объект, если метод был
|
||||||
вызван <link linkend="language.oop5.static">статически</link> из контекста
|
вызван <link linkend="language.oop5.static">статически</link> из контекста
|
||||||
другого объекта.
|
другого объекта.
|
||||||
Начиная с PHP 7.0.0, вызов нестатического метода статическим способом из
|
Начиная с PHP 7.0.0, вызов нестатического метода статическим способом из
|
||||||
неподходящего контекста приведет к тому, что $this будет неопределен внутри метода.
|
неподходящего контекста приведет к тому, что $this будет неопределен внутри метода.
|
||||||
Вызов нестатического метода статическим способом из неподходящего контекста было
|
Вызов нестатического метода статическим способом из неподходящего контекста было
|
||||||
объявлено устаревшив в PHP 5.6.0. Начиная с PHP 7.0.0, подобный вызов объявлен
|
объявлено устаревшив в PHP 5.6.0. Начиная с PHP 7.0.0, подобный вызов объявлен
|
||||||
совсем устаревшим (если только вызов не произошел из подходящего контекста).
|
совсем устаревшим (если только вызов не произошел из подходящего контекста).
|
||||||
До PHP 5.6.0, подобные вызовы уже сопровождались строгим уведомлением.
|
До PHP 5.6.0, подобные вызовы уже сопровождались строгим уведомлением.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<example xml:id="language.oop5.basic.class.this">
|
<example xml:id="language.oop5.basic.class.this">
|
||||||
<title>Несколько примеров с псевдо-переменной <varname>$this</varname></title>
|
<title>Несколько примеров с псевдо-переменной <varname>$this</varname></title>
|
||||||
<simpara>
|
<simpara>
|
||||||
Мы предполагаем, что error_reporting отключен для этого примера; в противном случае
|
Мы предполагаем, что error_reporting отключен для этого примера; в противном случае
|
||||||
следующий код, в зависимости от версии PHP, вызовет предупреждения уровней
|
следующий код, в зависимости от версии PHP, вызовет предупреждения уровней
|
||||||
"устаревшее" или "строгое".
|
"устаревшее" или "строгое".
|
||||||
</simpara>
|
</simpara>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
class A
|
class A
|
||||||
@ -120,27 +120,27 @@ $this is not defined.
|
|||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="language.oop5.basic.new">
|
<sect2 xml:id="language.oop5.basic.new">
|
||||||
<title>new</title>
|
<title>new</title>
|
||||||
<para>
|
<para>
|
||||||
Для создания экземпляра класса используется директива <literal>new</literal>.
|
Для создания экземпляра класса используется директива <literal>new</literal>.
|
||||||
Новый объект всегда будет создан, за исключением случаев, когда он содержит
|
Новый объект всегда будет создан, за исключением случаев, когда он содержит
|
||||||
<link linkend="language.oop5.decon">конструктор</link>, в котором определен вызов
|
<link linkend="language.oop5.decon">конструктор</link>, в котором определен вызов
|
||||||
<link linkend="language.exceptions">исключения</link> в случае ошибки.
|
<link linkend="language.exceptions">исключения</link> в случае ошибки.
|
||||||
Рекомендуется определять классы до создания их экземпляров
|
Рекомендуется определять классы до создания их экземпляров
|
||||||
(в некоторых случаях это обязательно).
|
(в некоторых случаях это обязательно).
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Если с директивой <literal>new</literal> используется строка (<type>string</type>),
|
Если с директивой <literal>new</literal> используется строка (<type>string</type>),
|
||||||
содержащая имя класса, то будет создан новый экземпляр этого класса. Если
|
содержащая имя класса, то будет создан новый экземпляр этого класса. Если
|
||||||
имя находится в пространстве имен, то оно должно быть задано полностью.
|
имя находится в пространстве имен, то оно должно быть задано полностью.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Создание экземпляра класса</title>
|
<title>Создание экземпляра класса</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
$instance = new SimpleClass();
|
$instance = new SimpleClass();
|
||||||
@ -257,20 +257,21 @@ echo (new DateTime())->format('Y');
|
|||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 xml:id="language.oop5.basic.properties-methods">
|
<sect2 xml:id="language.oop5.basic.properties-methods">
|
||||||
<title>Properties and methods</title>
|
<title>Properties and methods</title>
|
||||||
<para>
|
<para>
|
||||||
Свойства и методы класса живут в разделенных "пространствах имен", так что
|
Свойства и методы класса живут в разделенных "пространствах имен", так что
|
||||||
возможно задавать свойство и метод с одним и тем же именем.
|
возможно задавать свойство и метод с одним и тем же именем.
|
||||||
Ссылки как на свойства, так и на методы имеют одинаковую нотацию, и получается,
|
Ссылки как на свойства, так и на методы имеют одинаковую нотацию, и получается,
|
||||||
что получите вы доступ к свойству или же вызовете метод - определяется контекстом
|
что получите вы доступ к свойству или же вызовете метод - определяется контекстом
|
||||||
использования.
|
использования.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Доступ к свойству vs. вызов метода</title>
|
<title>Доступ к свойству vs. вызов метода</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
<?php
|
||||||
class Foo
|
class Foo
|
||||||
{
|
{
|
||||||
public $bar = 'property';
|
public $bar = 'property';
|
||||||
@ -283,26 +284,27 @@ class Foo
|
|||||||
$obj = new Foo();
|
$obj = new Foo();
|
||||||
echo $obj->bar, PHP_EOL, $obj->bar(), PHP_EOL;
|
echo $obj->bar, PHP_EOL, $obj->bar(), PHP_EOL;
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
&example.outputs;
|
&example.outputs;
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
property
|
property
|
||||||
method
|
method
|
||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Это означает, что вызвать <link linkend="functions.anonymous">анонимную
|
Это означает, что вызвать <link linkend="functions.anonymous">анонимную
|
||||||
функцию</link>, присвоенную переменной напрямую не получится.
|
функцию</link>, присвоенную переменной напрямую не получится.
|
||||||
Вместо этого сначала присвойте свойство переменной, например.
|
Вместо этого сначала присвойте свойство переменной, например.
|
||||||
Начиная с PHP 7.0.0 возможно осуществить подобный вызов, заключив свойство
|
Начиная с PHP 7.0.0 возможно осуществить подобный вызов, заключив свойство
|
||||||
в скобки.
|
в скобки.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Вызов анонимной функции содержащейся в свойстве</title>
|
<title>Вызов анонимной функции содержащейся в свойстве</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
<?php
|
||||||
class Foo
|
class Foo
|
||||||
{
|
{
|
||||||
public $bar;
|
public $bar;
|
||||||
@ -323,39 +325,39 @@ echo $func(), PHP_EOL;
|
|||||||
// или так, начиная с of PHP 7.0.0:
|
// или так, начиная с of PHP 7.0.0:
|
||||||
echo ($obj->bar)(), PHP_EOL;
|
echo ($obj->bar)(), PHP_EOL;
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
&example.outputs;
|
&example.outputs;
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
42
|
42
|
||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 xml:id="language.oop5.basic.extends">
|
<sect2 xml:id="language.oop5.basic.extends">
|
||||||
<title>extends</title>
|
<title>extends</title>
|
||||||
<para>
|
<para>
|
||||||
Класс может наследовать методы и свойства другого класса используя
|
Класс может наследовать методы и свойства другого класса используя
|
||||||
ключевое слово <literal>extends</literal> при его описании. Невозможно наследовать несколько
|
ключевое слово <literal>extends</literal> при его описании. Невозможно наследовать несколько
|
||||||
классов, один класс может наследовать только один базовый класс.
|
классов, один класс может наследовать только один базовый класс.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Наследуемые методы и свойства могут быть переопределены (за исключением
|
Наследуемые методы и свойства могут быть переопределены (за исключением
|
||||||
случаев, когда метод класса объявлен как <link linkend="language.oop5.final">final</link>)
|
случаев, когда метод класса объявлен как <link linkend="language.oop5.final">final</link>)
|
||||||
путем объявления их с теми же именами, как и в родительском классе.
|
путем объявления их с теми же именами, как и в родительском классе.
|
||||||
Существует возможность доступа к переопределенным методам или статическим
|
Существует возможность доступа к переопределенным методам или статическим
|
||||||
методам путем обращения к ним через
|
методам путем обращения к ним через
|
||||||
<link linkend="language.oop5.paamayim-nekudotayim">parent::</link>
|
<link linkend="language.oop5.paamayim-nekudotayim">parent::</link>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Когда переопределяются методы число и типы аргументов должны оставаться
|
Когда переопределяются методы число и типы аргументов должны оставаться
|
||||||
такими же как и были, иначе PHP вызовет ошибку уровня <constant>E_STRICT</constant>.
|
такими же как и были, иначе PHP вызовет ошибку уровня <constant>E_STRICT</constant>.
|
||||||
Это не относится к конструктору, который можно
|
Это не относится к конструктору, который можно
|
||||||
переопределить с другими параметрами.
|
переопределить с другими параметрами.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Простое наследование классов</title>
|
<title>Простое наследование классов</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
class ExtendClass extends SimpleClass
|
class ExtendClass extends SimpleClass
|
||||||
@ -381,22 +383,22 @@ $extended->displayVar();
|
|||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 xml:id="language.oop5.basic.class.class">
|
||||||
|
<title>::class</title>
|
||||||
|
|
||||||
<sect2 xml:id="language.oop5.basic.class.class">
|
<para>
|
||||||
<title>::class</title>
|
Начиная с версии PHP 5.5 можно использовать ключевое слово <literal>class</literal>
|
||||||
|
для разрешения имени класса. С помощью конструкции <literal>ClassName::class</literal>
|
||||||
<para>
|
можно получить строку с абсолютным именем класса <literal>ClassName</literal>.
|
||||||
Начиная с версии PHP 5.5 можно использовать ключевое слово <literal>class</literal>
|
Обычно это довольно полезно при работе с классами, использующими
|
||||||
для разрешения имени класса. С помощью конструкции <literal>ClassName::class</literal>
|
<link linkend="language.namespaces">пространства имен</link>.
|
||||||
можно получить строку с абсолютным именем класса <literal>ClassName</literal>.
|
</para>
|
||||||
Обычно это довольно полезно при работе с классами, использующими
|
<para>
|
||||||
<link linkend="language.namespaces">пространства имен</link>.
|
<example xml:id="language.oop5.basic.class.class.name">
|
||||||
</para>
|
<title>Разрешение имени класса</title>
|
||||||
<para>
|
<programlisting role="php">
|
||||||
<example xml:id="language.oop5.basic.class.class.name">
|
|
||||||
<title>Разрешение имени класса</title>
|
|
||||||
<programlisting role="php">
|
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
namespace NS {
|
namespace NS {
|
||||||
@ -423,7 +425,7 @@ NS\ClassName
|
|||||||
если класс не существует. Ошибка в этом случае не выдается.
|
если класс не существует. Ошибка в этом случае не выдается.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
|
74
reference/mhash/functions/mhash-count.xml
Normal file
74
reference/mhash/functions/mhash-count.xml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- $Revision$ -->
|
||||||
|
<!-- EN-Revision: a2e72b2b3b376d7c852353a511c9a443fbffab6c Maintainer: rjhdby Status: ready -->
|
||||||
|
<!-- Reviewed: no -->
|
||||||
|
|
||||||
|
<refentry xml:id="function.mhash-count" xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<refnamediv>
|
||||||
|
<refname>mhash_count</refname>
|
||||||
|
<refpurpose>Получить наибольший доступный ID хеша</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 role="description">
|
||||||
|
&reftitle.description;
|
||||||
|
<methodsynopsis>
|
||||||
|
<type>int</type><methodname>mhash_count</methodname>
|
||||||
|
<void/>
|
||||||
|
</methodsynopsis>
|
||||||
|
<para>
|
||||||
|
Возвращает наибольший доступный ID хеша.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="returnvalues">
|
||||||
|
&reftitle.returnvalues;
|
||||||
|
<para>
|
||||||
|
Получить наибольший доступный идентификатор хеша. Хеши нумеруются от 0 до этого
|
||||||
|
ID.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="examples">
|
||||||
|
&reftitle.examples;
|
||||||
|
<para>
|
||||||
|
<example>
|
||||||
|
<title>Обход всех хэшей</title>
|
||||||
|
<programlisting role="php">
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$nr = mhash_count();
|
||||||
|
|
||||||
|
for ($i = 0; $i <= $nr; $i++) {
|
||||||
|
echo sprintf("The blocksize of %s is %d\n",
|
||||||
|
mhash_get_hash_name($i),
|
||||||
|
mhash_get_block_size($i));
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
</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
|
||||||
|
-->
|
85
reference/mhash/functions/mhash-get-block-size.xml
Normal file
85
reference/mhash/functions/mhash-get-block-size.xml
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- $Revision$ -->
|
||||||
|
<!-- EN-Revision: a2e72b2b3b376d7c852353a511c9a443fbffab6c Maintainer: rjhdby Status: ready -->
|
||||||
|
<!-- Reviewed: no -->
|
||||||
|
|
||||||
|
<refentry xml:id="function.mhash-get-block-size" xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<refnamediv>
|
||||||
|
<refname>mhash_get_block_size</refname>
|
||||||
|
<refpurpose>Получить размер блока для заданного хеша</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 role="description">
|
||||||
|
&reftitle.description;
|
||||||
|
<methodsynopsis>
|
||||||
|
<type>int</type><methodname>mhash_get_block_size</methodname>
|
||||||
|
<methodparam><type>int</type><parameter>hash</parameter></methodparam>
|
||||||
|
</methodsynopsis>
|
||||||
|
<para>
|
||||||
|
Возвращает размер блока для заданного <parameter>hash</parameter>.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="parameters">
|
||||||
|
&reftitle.parameters;
|
||||||
|
<para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>hash</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
ID хеша. Одна из констант <constant>MHASH_hashname</constant>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="returnvalues">
|
||||||
|
&reftitle.returnvalues;
|
||||||
|
<para>
|
||||||
|
Возвращает размер в байтах или &false;, если параметр <parameter>hash</parameter>
|
||||||
|
задан некорректно.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="examples">
|
||||||
|
&reftitle.examples;
|
||||||
|
<para>
|
||||||
|
<example>
|
||||||
|
<title>Пример использования <function>mhash_get_block_size</function></title>
|
||||||
|
<programlisting role="php">
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
|
|
||||||
|
echo mhash_get_block_size(MHASH_MD5); // 16
|
||||||
|
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
</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
|
||||||
|
-->
|
84
reference/mhash/functions/mhash-get-hash-name.xml
Normal file
84
reference/mhash/functions/mhash-get-hash-name.xml
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- $Revision$ -->
|
||||||
|
<!-- EN-Revision: a2e72b2b3b376d7c852353a511c9a443fbffab6c Maintainer: rjhdby Status: ready -->
|
||||||
|
<!-- Reviewed: no -->
|
||||||
|
|
||||||
|
<refentry xml:id="function.mhash-get-hash-name" xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<refnamediv>
|
||||||
|
<refname>mhash_get_hash_name</refname>
|
||||||
|
<refpurpose>Получить имя указанного хеша</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 role="description">
|
||||||
|
&reftitle.description;
|
||||||
|
<methodsynopsis>
|
||||||
|
<type>string</type><methodname>mhash_get_hash_name</methodname>
|
||||||
|
<methodparam><type>int</type><parameter>hash</parameter></methodparam>
|
||||||
|
</methodsynopsis>
|
||||||
|
<para>
|
||||||
|
Возвращает имя заданного <parameter>hash</parameter>.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="parameters">
|
||||||
|
&reftitle.parameters;
|
||||||
|
<para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>hash</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
ID хеша. Одна из констант <constant>MHASH_hashname</constant>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="returnvalues">
|
||||||
|
&reftitle.returnvalues;
|
||||||
|
<para>
|
||||||
|
Возвращает строку с названием или &false;, если такого хеша нет.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="examples">
|
||||||
|
&reftitle.examples;
|
||||||
|
<para>
|
||||||
|
<example>
|
||||||
|
<title>Пример использования <function>mhash_get_hash_name</function></title>
|
||||||
|
<programlisting role="php">
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
|
|
||||||
|
echo mhash_get_hash_name(MHASH_MD5); // MD5
|
||||||
|
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
</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
|
||||||
|
-->
|
109
reference/mhash/functions/mhash-keygen-s2k.xml
Normal file
109
reference/mhash/functions/mhash-keygen-s2k.xml
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- $Revision$ -->
|
||||||
|
<!-- EN-Revision: a2e72b2b3b376d7c852353a511c9a443fbffab6c Maintainer: rjhdby Status: ready -->
|
||||||
|
<!-- Reviewed: no -->
|
||||||
|
|
||||||
|
<refentry xml:id="function.mhash-keygen-s2k" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<refnamediv>
|
||||||
|
<refname>mhash_keygen_s2k</refname>
|
||||||
|
<refpurpose>Генерация ключа</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 role="description">
|
||||||
|
&reftitle.description;
|
||||||
|
<methodsynopsis>
|
||||||
|
<type>string</type><methodname>mhash_keygen_s2k</methodname>
|
||||||
|
<methodparam><type>int</type><parameter>hash</parameter></methodparam>
|
||||||
|
<methodparam><type>string</type><parameter>password</parameter></methodparam>
|
||||||
|
<methodparam><type>string</type><parameter>salt</parameter></methodparam>
|
||||||
|
<methodparam><type>int</type><parameter>bytes</parameter></methodparam>
|
||||||
|
</methodsynopsis>
|
||||||
|
<para>
|
||||||
|
Генерирует ключ в соответствии с заданным <parameter>hash</parameter> и указанным
|
||||||
|
паролем <parameter>password</parameter>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Используется алгоритм S2K с солью, как описано в документе OpenPGP
|
||||||
|
(<link xlink:href="&url.rfc;2440">RFC 2440</link>).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Помните, что пользовательские пароли не являются подходящими
|
||||||
|
ключами для криптографических алгоритмов, так как обычно они как минимум
|
||||||
|
набираемы на клавиатуре. Такие пароли используют только 6-7 бит (или меньше)
|
||||||
|
на символ. Так что такие пароли крайне рекомендуется предварительно преобразовывать
|
||||||
|
(например этой функцией).
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="parameters">
|
||||||
|
&reftitle.parameters;
|
||||||
|
<para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>hash</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
ID хеша. Одна из констант <constant>MHASH_hashname</constant>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>password</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Пользовательский пароль.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>salt</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Должна быть разной и достаточно случайной для каждого создаваемого
|
||||||
|
ключа. Так как <parameter>salt</parameter> должна быть известна
|
||||||
|
при проверке ключа, то хорошей идеей будет добавить ее к ключу.
|
||||||
|
Соль имеет фиксированный размер в 8 байт и будет дополнена нулями, если
|
||||||
|
заданный параметр будет короче.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>bytes</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Длина ключа в байтах.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="returnvalues">
|
||||||
|
&reftitle.returnvalues;
|
||||||
|
<para>
|
||||||
|
Возвращает строку с ключем или &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:"~/.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
|
||||||
|
-->
|
88
reference/mhash/functions/mhash.xml
Normal file
88
reference/mhash/functions/mhash.xml
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- $Revision$ -->
|
||||||
|
<!-- EN-Revision: a2e72b2b3b376d7c852353a511c9a443fbffab6c Maintainer: rjhdby Status: ready -->
|
||||||
|
<!-- Reviewed: no -->
|
||||||
|
|
||||||
|
<refentry xml:id="function.mhash" xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<refnamediv>
|
||||||
|
<refname>mhash</refname>
|
||||||
|
<refpurpose>Вычисляет хеш</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect1 role="description">
|
||||||
|
&reftitle.description;
|
||||||
|
<methodsynopsis>
|
||||||
|
<type>string</type><methodname>mhash</methodname>
|
||||||
|
<methodparam><type>int</type><parameter>hash</parameter></methodparam>
|
||||||
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
||||||
|
<methodparam choice="opt"><type>string</type><parameter>key</parameter></methodparam>
|
||||||
|
</methodsynopsis>
|
||||||
|
<para>
|
||||||
|
<function>mhash</function> applies a hash function specified by
|
||||||
|
<parameter>hash</parameter> to the <parameter>data</parameter>.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="parameters">
|
||||||
|
&reftitle.parameters;
|
||||||
|
<para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>hash</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
ID хеша. Одна из констант <constant>MHASH_hashname</constant>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>data</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Строка с пользовательскими данными.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>key</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Если задано, то функция вернет результирующий HMAC.
|
||||||
|
HMAC - это код аутентификации сообщений, использующий хеш-функции.
|
||||||
|
Не все алгоритмы поддерживаемые mhash могут быть использованы в
|
||||||
|
режиме HMAC.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1 role="returnvalues">
|
||||||
|
&reftitle.returnvalues;
|
||||||
|
<para>
|
||||||
|
Возвращает строку с результирующим хешем или HMAC, или &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:"~/.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
|
||||||
|
-->
|
Reference in New Issue
Block a user