Configuring the Query
- public function setType($type) — Select the type of symbol to load, either `class`, `function` or `interface`.
- public function setLibrary($library) — Restrict the symbol query to a specific library; only symbols from this library will be loaded.
- public function setPathPrefix($path) — Restrict the symbol query to a specific path prefix; only symbols defined in files below that path will be selected.
- public function setName($name) — Restrict the symbol query to a single symbol name, e.g. a specific class or function name.
- public function setAncestorClass($base) — Restrict the symbol query to only descendants of some class. This will strictly select descendants, the base class will not be selected. This implies loading only classes.
- public function setConcreteOnly($concrete) — Restrict the symbol query to only concrete symbols; this will filter out abstract classes.
Loading Symbols
- public function selectAndLoadSymbols() — Execute the query and select matching symbols, then load them so they can be used.
- public function selectSymbolsWithoutLoading() — Execute the query and select matching symbols, but do not load them. This will perform slightly better if you are only interested in the existence of the symbols and don't plan to use them; otherwise, use @{method:selectAndLoadSymbols}.
Internals
- private function selectDescendantsOf($tree, $root)
- private function loadSymbol($symbol_spec)
Other Methods
- public function setContinueOnFailure($continue)
- public function loadObjects($argv) — Select symbols matching the query and then instantiate them, returning concrete objects. This is a convenience method which simplifies symbol handling if you are only interested in building objects.