php-doc-en/reference/misc/functions/php-check-syntax.xml
Jakub Vrana a9b26c34e4 Display language constructs without parentheses
Side effect of this change is that include, require and return are now properly linked. They weren't because they don't live inside <refentry> so PhD doesn't know about them.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@324522 c90b9560-bf6c-de11-be94-00142212c4b1
2012-03-25 08:39:30 +00:00

165 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.php-check-syntax" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>php_check_syntax</refname>
<refpurpose>
Check the PHP syntax of (and execute) the specified file
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>php_check_syntax</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter role="reference">error_message</parameter></methodparam>
</methodsynopsis>
<para>
Performs a syntax (lint) check on the specified
<parameter>filename</parameter> testing for scripting errors.
</para>
<para>
This is similar to using <command>php -l</command> from the <link
linkend="features.commandline">commandline</link> except that this
function will execute (but not output) the checked
<parameter>filename</parameter>.
</para>
<para>
For example, if a function is defined in <parameter>filename</parameter>,
this defined function will be available to the file that executed
<function>php_check_syntax</function>, but output from
<parameter>filename</parameter> will be suppressed.
</para>
<note>
<!-- See PHP bug #27406 for details on this suppression -->
<para>
For technical reasons, this function is deprecated and removed from PHP.
Instead, use <literal>php -l somefile.php</literal> from the
<link linkend="features.commandline">commandline</link>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
The name of the file being checked.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_message</parameter></term>
<listitem>
<para>
If the <parameter>error_message</parameter> parameter is used, it will
contain the error message generated by the syntax check.
<parameter>error_message</parameter> is passed by
<link linkend="language.references">reference</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns &true; if the lint check passed, and &false; if the link check
failed or if <parameter>filename</parameter> cannot be opened.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.0.5</entry>
<entry>
This function was removed from PHP.
</entry>
</row>
<row>
<entry>5.0.3</entry>
<entry>
Calling <link linkend="function.exit"><literal>exit</literal></link> after
<function>php_check_syntax</function> resulted in a Segfault.
</entry>
</row>
<row>
<entry>5.0.1</entry>
<entry>
<parameter>error_message</parameter> is passed by reference.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<screen>
<![CDATA[
php -l somefile.php
]]>
</screen>
</para>
&example.outputs.similar;
<para>
<screen>
<![CDATA[
PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81
]]>
</screen>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="function.include"><literal>include</literal></link></member>
<member><function>is_readable</function></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
-->