Clean up the `$methods` array
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 4 Feb 2022 09:03:54 +0000 (10:03 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Fri, 4 Feb 2022 09:03:54 +0000 (10:03 +0100)
commite4282adf48f42b7c0eb532cb8f0ee096a86fa67f
treecb5a11e81c257dba64b75afdb98eb946ed2d0cce
parent22f4ba2c4dfb02bbb073ba2aad02e27defe7e24f
Clean up the `$methods` array

This was performed using:

    <?php

    namespace wcf\system\exporter;

    use ReflectionProperty;

    class AbstractExporter {}

    $files = glob('files/lib/system/exporter/*.php');

    foreach ($files as $file) {
     require($file);
     $class = 'wcf\\system\\exporter\\'.basename($file, ".class.php");
     echo $class, \PHP_EOL;

     $obj = new $class();
     $prop = new ReflectionProperty($class, 'methods');
     $prop->setAccessible(true);
     $methods = $prop->getValue($obj);

     foreach ($methods as $method) {
     $method = 'export'.$method;

     if (!\method_exists($obj, $method)) {
     echo $method, \PHP_EOL;
     }
     }

     foreach (\get_class_methods($obj) as $method) {
     if (!\str_starts_with($method, 'export')) {
     continue;
     }

     if (!\in_array(\preg_replace('/^export/', '', $method), $methods)) {
     echo $method, \PHP_EOL;
     }
     }
    }
files/lib/system/exporter/MyBB16xExporter.class.php
files/lib/system/exporter/NodeBB0xRedisExporter.class.php
files/lib/system/exporter/PhpBB31xExporter.class.php
files/lib/system/exporter/PhpBB3xExporter.class.php
files/lib/system/exporter/SMF2xExporter.class.php
files/lib/system/exporter/VB3or4xExporter.class.php
files/lib/system/exporter/VB5xExporter.class.php
files/lib/system/exporter/XF12xExporter.class.php
files/lib/system/exporter/XF2xExporter.class.php