Files
doc-en/reference/tokenizer/phptoken.xml
2024-06-14 17:04:53 +01:00

133 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<reference xml:id="class.phptoken" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>The PhpToken class</title>
<titleabbrev>PhpToken</titleabbrev>
<partintro>
<!-- {{{ PhpToken intro -->
<section xml:id="phptoken.intro">
&reftitle.intro;
<para>
This class provides an alternative to <function>token_get_all</function>. While the function returns tokens
either as a single-character string, or an array with a token ID, token text and line number,
<function>PhpToken::tokenize</function> normalizes all tokens into PhpToken objects, which makes code operating
on tokens more memory efficient and readable.
</para>
</section>
<!-- }}} -->
<section xml:id="phptoken.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<classname>PhpToken</classname>
</ooclass>
<oointerface>
<modifier>implements</modifier>
<interfacename>Stringable</interfacename>
</oointerface>
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<fieldsynopsis>
<modifier>public</modifier>
<type>int</type>
<varname linkend="phptoken.props.id">id</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>string</type>
<varname linkend="phptoken.props.text">text</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>int</type>
<varname linkend="phptoken.props.line">line</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>int</type>
<varname linkend="phptoken.props.pos">pos</varname>
</fieldsynopsis>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.phptoken')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='PhpToken'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.phptoken')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='PhpToken'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<section xml:id="phptoken.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="phptoken.props.id">
<term><varname>id</varname></term>
<listitem>
<para>
One of the T_* constants, or an ASCII codepoint representing a single-char token.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="phptoken.props.text">
<term><varname>text</varname></term>
<listitem>
<para>
The textual content of the token.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="phptoken.props.line">
<term><varname>line</varname></term>
<listitem>
<para>
The starting line number (1-based) of the token.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="phptoken.props.pos">
<term><varname>pos</varname></term>
<listitem>
<para>
The starting position (0-based) in the tokenized string (the number of bytes).
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
</partintro>
&reference.tokenizer.entities.phptoken;
</reference>
<!-- 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
-->