Larry Garfield talks about a new feature of Drupal 7 in a new post to his blog - the new introspective code registry that's been introduced in this latest version.

As a GHOP Task , Cornil did a performance analysis of Drupal and found its two largest performance drains were the bootstrap process and the theming layer. Quite simply, Drupal spends too much time including code. [...] Fortunately, Drupal 7's self-learning code registry system has justlanded, which should obliterate most of the wasted bootstrap cost.

Larrydescribes the "heart of it all", the token_get_all call, that parses through an entire PHP file, splitting out things like classes included and functions called. This is passed through a function_exists call to the current script and, if it's already there, the file isn't included repetitively.

Troels Knak-Nielsen has posted a script that he's developed (for use in Emacs) to look through a PHP file and pull out all of the classes and functions found inside.

As you probably know, PHP has a ridiculous amount of functions for all kinds of things, and as it happens, token_get_all gives access to the Zend Engine tokenizer. In other words, the same chunk of code, which PHP itself uses, when reading a .php file. This provides an excellent base for writing a script, which can parse the socks off ctags.

The emacs file to bind the editor and the PHP script together is also included, making it as simple to use as binding the function key of your choice to the "php-tokens" script.

Troels Knak-Nielsen has posted a script that he's developed (for use in Emacs) to look through a PHP file and pull out all of the classes and functions found inside.

As you probably know, PHP has a ridiculous amount of functions for all kinds of things, and as it happens, token_get_all gives access to the Zend Engine tokenizer. In other words, the same chunk of code, which PHP itself uses, when reading a .php file. This provides an excellent base for writing a script, which can parse the socks off ctags.

The emacs file to bind the editor and the PHP script together is also included, making it as simple to use as binding the function key of your choice to the "php-tokens" script.