<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Spiral Framework Code Style Ruleset">
    <!-- config -->
    <rule ref="vendor/spiral/code-style/config/ruleset.xml" />

    <rule ref="Generic.PHP.ForbiddenFunctions">
        <properties>
            <property name="forbiddenFunctions" type="array" extend="true">
                <!-- deprecated/aliased functions -->
                <element key="join" value="implode" />
                <element key="chop" value="rtrim" />
                <element key="strchr" value="strstr" />
                <element key="show_source" value="highlight_file" />
                <element key="ini_alter" value="ini_set" />
                <element key="dns_check_record" value="checkdnsrr" />
                <element key="dns_get_mx" value="getmxrr" />
                <element key="doubleval" value="floatval" />
                <element key="is_long" value="is_int" />
                <element key="is_integer" value="is_int" />
                <element key="is_double" value="is_float" />
                <element key="is_real" value="is_float" />
                <element key="fputs" value="fwrite" />
                <element key="set_file_buffer" value="stream_set_write_buffer" />
                <element key="set_socket_blocking" value="stream_set_blocking" />
                <element key="socket_set_blocking" value="stream_set_blocking" />
                <element key="stream_register_wrapper" value="stream_wrapper_register" />
                <element key="socket_set_timeout" value="stream_set_timeout" />
                <element key="socket_get_status" value="stream_get_meta_data" />
                <element key="is_writeable" value="is_writable" />
                <element key="pos" value="current" />
                <element key="sizeof" value="count" />

                <!-- deprecated/aliased operators -->
                <element key="delete" value="unset" />
                <element key="print" value="echo" />
                <element key="create_function" value="null" />
            </property>
        </properties>
    </rule>

    <arg name="colors"/>

    <!-- includes -->
    <file>./src</file>
    <file>./tests</file>
</ruleset>
