mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
The test script to search for underscores
This commit is contained in:
parent
b4bc994680
commit
a5c94d0184
1 changed files with 86 additions and 0 deletions
86
scripts/dev/search_underscores.php
Executable file
86
scripts/dev/search_underscores.php
Executable file
|
@ -0,0 +1,86 @@
|
|||
#! /usr/local/bin/php -n
|
||||
<?php
|
||||
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Marcus Boerger <helly@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
/* This script lists extension-, class- and method names that contain any
|
||||
underscores. It omits magic names (e.g. anything that starts with two
|
||||
underscores but no more).
|
||||
*/
|
||||
$cnt = 0;
|
||||
$err = 0;
|
||||
|
||||
$classes = array_merge(get_declared_classes(), get_declared_interfaces());
|
||||
|
||||
$extensions = array();
|
||||
|
||||
foreach(get_loaded_extensions() as $ext) {
|
||||
$cnt++;
|
||||
if (strpos($ext, "_") !== false) {
|
||||
$err++;
|
||||
$extensions[$ext] = array();
|
||||
}
|
||||
}
|
||||
|
||||
$cnt += count($classes);
|
||||
|
||||
foreach($classes as $c) {
|
||||
if (strpos($c, "_") !== false) {
|
||||
$err++;
|
||||
$ref = new ReflectionClass($c);
|
||||
if (!($ext = $ref->getExtensionName())) {;
|
||||
$ext = $ref->isInternal() ? "<internal>" : "<user>";
|
||||
}
|
||||
if (!array_key_exists($ext, $extensions)) {
|
||||
$extensions[$ext] = array();
|
||||
}
|
||||
$extensions[$ext][$c] = array();
|
||||
foreach(get_class_methods($c) as $method) {
|
||||
$cnt++;
|
||||
if (strpos(substr($method, substr($method, 0, 2) != "__" ? 0 : 2), "_") !== false) {
|
||||
$err++;
|
||||
$extensions[$ext][$c][] = $method;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$cnt += count(get_class_methods($c));
|
||||
}
|
||||
}
|
||||
|
||||
ksort($extensions);
|
||||
foreach($extensions as $ext => &$classes) {
|
||||
echo "Extension: $ext\n";
|
||||
ksort($classes);
|
||||
foreach($classes as $classname => &$methods) {
|
||||
echo " Class: $classname\n";
|
||||
ksort($methods);
|
||||
foreach($methods as $method) {
|
||||
echo " Method: $method\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("Names: %5d\n", $cnt);
|
||||
printf("Errors: %5d (%.1f%%)\n", $err, round($err * 100 / $cnt, 1));
|
||||
printf("\n");
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue