Skip to content

Commit c04c508

Browse files
committed
Created construct, serialize, unserialize, toString
1 parent 4e431d4 commit c04c508

File tree

4 files changed

+281
-0
lines changed

4 files changed

+281
-0
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<refentry xml:id="bcmath-number.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
3+
<refnamediv>
4+
<refname>BcMath\Number::__construct</refname>
5+
<refpurpose>Creates a BcMath\Number object</refpurpose>
6+
</refnamediv>
7+
8+
<refsect1 role="description">
9+
&reftitle.description;
10+
<constructorsynopsis role="BcMath\\Number">
11+
<modifier>public</modifier> <methodname>BcMath\Number::__construct</methodname>
12+
<methodparam><type class="union"><type>string</type><type>int</type></type><parameter>num</parameter></methodparam>
13+
</constructorsynopsis>
14+
<simpara>
15+
Creates a <classname>BcMath\Number</classname> object from an <type>int</type> or <type>string</type> value.
16+
</simpara>
17+
</refsect1>
18+
19+
<refsect1 role="parameters">
20+
&reftitle.parameters;
21+
<variablelist>
22+
<varlistentry>
23+
<term><parameter>num</parameter></term>
24+
<listitem>
25+
<simpara>
26+
An <type>int</type> or <type>string</type> value. If <parameter>num</parameter> is a
27+
<type>int</type>, The <property>BcMath\Number::scale</property> is always set to <literal>0</literal>.
28+
If <parameter>num</parameter> is a <type>string</type>, it must be a valid number.
29+
The <property>BcMath\Number::scale</property> is automatically set by parsing the string.
30+
</simpara>
31+
</listitem>
32+
</varlistentry>
33+
</variablelist>
34+
</refsect1>
35+
36+
<refsect1 role="errors">
37+
&reftitle.errors;
38+
<simpara>
39+
This method throws a <exceptionname>ValueError</exceptionname> if <parameter>num</parameter>
40+
is <type>string</type> and not a well-formed BCMath numeric string.
41+
</simpara>
42+
</refsect1>
43+
44+
<refsect1 role="examples">
45+
&reftitle.examples;
46+
<example>
47+
<title><methodname>BcMath\Number::__construct</methodname> example</title>
48+
<programlisting role="php">
49+
<![CDATA[
50+
<?php
51+
$num1 = new BcMath\Number(100);
52+
$num2 = new BcMath\Number('-200');
53+
$num3 = new BcMath\Number('300.00');
54+
55+
var_dump($num1, $num2, $num3);
56+
?>
57+
]]>
58+
</programlisting>
59+
&example.outputs;
60+
<screen>
61+
<![CDATA[
62+
object(BcMath\Number)#1 (2) {
63+
["value"]=>
64+
string(3) "100"
65+
["scale"]=>
66+
int(0)
67+
}
68+
object(BcMath\Number)#2 (2) {
69+
["value"]=>
70+
string(4) "-200"
71+
["scale"]=>
72+
int(0)
73+
}
74+
object(BcMath\Number)#3 (2) {
75+
["value"]=>
76+
string(6) "300.00"
77+
["scale"]=>
78+
int(2)
79+
}
80+
]]>
81+
</screen>
82+
</example>
83+
</refsect1>
84+
85+
<refsect1 role="seealso">
86+
&reftitle.seealso;
87+
<simplelist>
88+
<member><methodname>BcMath\Number::__serialize</methodname></member>
89+
<member><methodname>BcMath\Number::__unserialize</methodname></member>
90+
</simplelist>
91+
</refsect1>
92+
93+
</refentry>
94+
<!-- Keep this comment at the end of the file
95+
Local variables:
96+
mode: sgml
97+
sgml-omittag:t
98+
sgml-shorttag:t
99+
sgml-minimize-attributes:nil
100+
sgml-always-quote-attributes:t
101+
sgml-indent-step:1
102+
sgml-indent-data:t
103+
indent-tabs-mode:nil
104+
sgml-parent-document:nil
105+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
106+
sgml-exposed-tags:nil
107+
sgml-local-catalogs:nil
108+
sgml-local-ecat-files:nil
109+
End:
110+
vim600: syn=xml fen fdm=syntax fdl=2 si
111+
vim: et tw=78 syn=sgml
112+
vi: ts=1 sw=1
113+
-->
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<refentry xml:id="bcmath-number.serialize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
3+
<refnamediv>
4+
<refname>BcMath\Number::__serialize</refname>
5+
<refpurpose>Serializes a BcMath\Number object</refpurpose>
6+
</refnamediv>
7+
8+
<refsect1 role="description">
9+
&reftitle.description;
10+
<methodsynopsis role="BcMath\\Number">
11+
<modifier>public</modifier> <type>array</type><methodname>BcMath\Number::__serialize</methodname>
12+
<void/>
13+
</methodsynopsis>
14+
<simpara>
15+
Serializes this object.
16+
</simpara>
17+
</refsect1>
18+
19+
<refsect1 role="parameters">
20+
&reftitle.parameters;
21+
&no.function.parameters;</refsect1>
22+
23+
<refsect1 role="seealso">
24+
&reftitle.seealso;
25+
<simplelist>
26+
<member><methodname>BcMath\Number::__construct</methodname></member>
27+
<member><methodname>BcMath\Number::__unserialize</methodname></member>
28+
</simplelist>
29+
</refsect1>
30+
31+
</refentry>
32+
<!-- Keep this comment at the end of the file
33+
Local variables:
34+
mode: sgml
35+
sgml-omittag:t
36+
sgml-shorttag:t
37+
sgml-minimize-attributes:nil
38+
sgml-always-quote-attributes:t
39+
sgml-indent-step:1
40+
sgml-indent-data:t
41+
indent-tabs-mode:nil
42+
sgml-parent-document:nil
43+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
44+
sgml-exposed-tags:nil
45+
sgml-local-catalogs:nil
46+
sgml-local-ecat-files:nil
47+
End:
48+
vim600: syn=xml fen fdm=syntax fdl=2 si
49+
vim: et tw=78 syn=sgml
50+
vi: ts=1 sw=1
51+
-->
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<refentry xml:id="bcmath-number.tostring" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
3+
<refnamediv>
4+
<refname>BcMath\Number::__toString</refname>
5+
<refpurpose>Converts BcMath\Number to string</refpurpose>
6+
</refnamediv>
7+
8+
<refsect1 role="description">
9+
&reftitle.description;
10+
<methodsynopsis role="BcMath\\Number">
11+
<modifier>public</modifier> <type>string</type><methodname>BcMath\Number::__toString</methodname>
12+
<void/>
13+
</methodsynopsis>
14+
<simpara>
15+
Converts <classname>BcMath\Number</classname> to <type>string</type>.
16+
</simpara>
17+
</refsect1>
18+
19+
<refsect1 role="parameters">
20+
&reftitle.parameters;
21+
&no.function.parameters;</refsect1>
22+
23+
<refsect1 role="returnvalues">
24+
&reftitle.returnvalues;
25+
<simpara>
26+
Returns <property>BcMath\Number::value</property> as a <type>string</type>.
27+
</simpara>
28+
</refsect1>
29+
</refentry>
30+
<!-- Keep this comment at the end of the file
31+
Local variables:
32+
mode: sgml
33+
sgml-omittag:t
34+
sgml-shorttag:t
35+
sgml-minimize-attributes:nil
36+
sgml-always-quote-attributes:t
37+
sgml-indent-step:1
38+
sgml-indent-data:t
39+
indent-tabs-mode:nil
40+
sgml-parent-document:nil
41+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
42+
sgml-exposed-tags:nil
43+
sgml-local-catalogs:nil
44+
sgml-local-ecat-files:nil
45+
End:
46+
vim600: syn=xml fen fdm=syntax fdl=2 si
47+
vim: et tw=78 syn=sgml
48+
vi: ts=1 sw=1
49+
-->
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<refentry xml:id="bcmath-number.unserialize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
3+
<refnamediv>
4+
<refname>BcMath\Number::__unserialize</refname>
5+
<refpurpose>Deserializes a data parameter into a BcMath\Number object</refpurpose>
6+
</refnamediv>
7+
8+
<refsect1 role="description">
9+
&reftitle.description;
10+
<methodsynopsis role="BcMath\\Number">
11+
<modifier>public</modifier> <type>void</type><methodname>BcMath\Number::__unserialize</methodname>
12+
<methodparam><type>array</type><parameter>data</parameter></methodparam>
13+
</methodsynopsis>
14+
<simpara>
15+
Deserializes a data parameter into a <classname>BcMath\Number</classname> object.
16+
</simpara>
17+
</refsect1>
18+
19+
<refsect1 role="parameters">
20+
&reftitle.parameters;
21+
<variablelist>
22+
<varlistentry>
23+
<term><parameter>data</parameter></term>
24+
<listitem>
25+
<simpara>
26+
The serialized data parameter as an associative <type>array</type>
27+
</simpara>
28+
</listitem>
29+
</varlistentry>
30+
</variablelist>
31+
</refsect1>
32+
33+
<refsect1 role="errors">
34+
&reftitle.errors;
35+
<simpara>
36+
This method throws a <exceptionname>ValueError</exceptionname> if invalid serialized data is passed.
37+
</simpara>
38+
</refsect1>
39+
40+
<refsect1 role="seealso">
41+
&reftitle.seealso;
42+
<simplelist>
43+
<member><methodname>BcMath\Number::__construct</methodname></member>
44+
<member><methodname>BcMath\Number::serialize</methodname></member>
45+
</simplelist>
46+
</refsect1>
47+
48+
</refentry>
49+
<!-- Keep this comment at the end of the file
50+
Local variables:
51+
mode: sgml
52+
sgml-omittag:t
53+
sgml-shorttag:t
54+
sgml-minimize-attributes:nil
55+
sgml-always-quote-attributes:t
56+
sgml-indent-step:1
57+
sgml-indent-data:t
58+
indent-tabs-mode:nil
59+
sgml-parent-document:nil
60+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
61+
sgml-exposed-tags:nil
62+
sgml-local-catalogs:nil
63+
sgml-local-ecat-files:nil
64+
End:
65+
vim600: syn=xml fen fdm=syntax fdl=2 si
66+
vim: et tw=78 syn=sgml
67+
vi: ts=1 sw=1
68+
-->

0 commit comments

Comments
 (0)