1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="phptoken.tokenize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>PhpToken::tokenize</refname>
<refpurpose>Splits given source into PHP tokens, represented by PhpToken objects.</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="PhpToken">
<modifier>public</modifier> <modifier>static</modifier> <type>array</type><methodname>PhpToken::tokenize</methodname>
<methodparam><type>string</type><parameter>code</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Returns an array of PhpToken objects representing given <parameter>code</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>code</parameter></term>
<listitem>
<para>
The PHP source to parse.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Valid flags:
<itemizedlist>
<listitem>
<simpara>
<constant>TOKEN_PARSE</constant> - Recognises the ability to use
reserved words in specific contexts.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
An array of PHP tokens represented by instances of PhpToken or its descendants.
This method returns <type>static[]</type> so that PhpToken can be seamlessly extended.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>PhpToken::tokenize</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$tokens = PhpToken::tokenize('<?php echo; ?>');
foreach ($tokens as $token) {
echo "Line {$token->line}: {$token->getTokenName()} ('{$token->text}')", PHP_EOL;
}
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
Line 1: T_OPEN_TAG ('<?php ')
Line 1: T_ECHO ('echo')
Line 1: ; (';')
Line 1: T_WHITESPACE (' ')
Line 1: T_CLOSE_TAG ('?>')
]]>
</screen>
</example>
<example>
<title>Extending PhpToken</title>
<programlisting role="php">
<![CDATA[
<?php
class MyPhpToken extends PhpToken {
public function getUpperText() {
return strtoupper($this->text);
}
}
$tokens = MyPhpToken::tokenize('<?php echo; ?>');
echo "'{$tokens[0]->getUpperText()}'";
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
'<?PHP '
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>token_get_all</function></member>
</simplelist>
</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
-->
|