読者です 読者をやめる 読者になる 読者になる

PHP5.3で非推奨になった機能や関数をざっくりあぶり出すワンライナー(Sabel版)

via. http://d.hatena.ne.jp/shimooka/20100727/1280198801:title=

Sabelでもやってみた。

find . -iname \*.php -print0 | xargs -0 grep -wE 'define_syslog_variables|register_globals|register_long_arrays|safe_mode|magic_quotes_gpc|magic_quotes_runtime|magic_quotes_sybase|(call_user_method|call_user_method_array|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|set_magic_quotes_runtime|session_register|session_unregister|session_is_registered|set_socket_blocking|split|spliti|sql_regcase|mysql_db_query|mysql_escape_string)\(|\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\{[0-9]+\}|(= *& *new)'
./generator/generator.php:      if ($item{0} === "." && $item !== ".htaccess") continue;
./generator/skeleton/en/lib/form/html/date/Base.php:      $char = $yearRange{0};
./generator/skeleton/en/lib/Paginator.php:        if (preg_match('/^[A-Z]/', $key{0}) === 1 && strpos($key, "_") !== false) {
./generator/skeleton/en/tasks/Fixture.php:        if ($dir{0} !== "/") {  // relative path
./sabel/annotation/Reader.php:        $quote = $v{0};
./sabel/db/ibase/Metadata.php:      if ($default{0} === "'") {
./sabel/db/pgsql/Metadata.php:        if ($default{0} === "'") {
./sabel/functions/core.php:      $str{0} = strtolower($str{0});
./sabel/mail/mime/Decoded.php:    if ($str{0} === '"') {
./sabel/mail/MimeDecode.php:        $quote = $value{0};
./sabel/map/config/Route.php:      if ($name{0} !== ":") {
./sabel/util/fileSystem/Base.php:      return ($path{0} === "/");
./sabel/util/FileSystem.php:      if ($ignoreDotFiles && $item{0} === ".") continue;
./sabel/util/FileSystem.php:      if ($ignoreDotFiles && $item{0} === ".") continue;
./sabel/util/FileSystem.php:      if ($ignoreDotFiles && $item{0} === ".") continue;
./sabel/util/String.php:  public function split($length = 1)
./sabel/Validator.php:    if ($m{0} === "-") {
./sabel/xml/Query.php:    if ($path{0} === "@") {
./sabel/xml/Query.php:      $first  = $_value{0};
./Test/Util/String.php:    $array  = $string->split();
./Test/Util/String.php:    $array  = $string->split();

SymfonyとかZend Frameworkもそうっぽいけど、文字列のアクセスが基本的に引っかかってますねー。