diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-11 23:52:28 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-11 23:52:28 +0900 |
| commit | daa1acf091627f4f1af63ad44eee988048fa4136 (patch) | |
| tree | 1f6b715079291086f4a4f4c7cab01760a1cb7c99 /crates/shirabe/src/autoload/class_loader.rs | |
| parent | 38621c67917fd015f884ea04517791cdc5058c6d (diff) | |
| download | php-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.tar.gz php-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.tar.zst php-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.zip | |
chore(php-shim): drop the HHVM_VERSION constant
The constant was None and defined("HHVM_VERSION") reports it undefined, so
every branch guarded by it was dead: shirabe is a Rust binary and never runs
on HHVM. HhvmDetector keeps probing for an `hhvm` binary in PATH, which is
what actually produces the hhvm platform package.
Two of the dropped branches ask about the PHP runtime that consumes the
result rather than about shirabe itself -- the class loader's Hack file
lookup and the class map parser's enum scanning -- so both get a
TODO(php-runtime) marker.
Diffstat (limited to 'crates/shirabe/src/autoload/class_loader.rs')
| -rw-r--r-- | crates/shirabe/src/autoload/class_loader.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/shirabe/src/autoload/class_loader.rs b/crates/shirabe/src/autoload/class_loader.rs index 2d888ecf..de03201a 100644 --- a/crates/shirabe/src/autoload/class_loader.rs +++ b/crates/shirabe/src/autoload/class_loader.rs @@ -3,7 +3,7 @@ use indexmap::IndexMap; use shirabe_php_rpc::stream_resolve_include_path; use shirabe_php_shim::{ - InvalidArgumentException, PhpMixed, defined, file_exists, include_file, spl_autoload_register, + InvalidArgumentException, PhpMixed, file_exists, include_file, spl_autoload_register, spl_autoload_unregister, strlen, strpos, strrpos, strtr, substr, }; use std::sync::{LazyLock, Mutex}; @@ -340,12 +340,10 @@ impl ClassLoader { // No-op; APCu is not available in Rust. } - let mut file = self.find_file_with_extension(class, ".php"); - - // Search for Hack files if we are running on HHVM - if file.is_none() && defined("HHVM_VERSION") { - file = self.find_file_with_extension(class, ".hh"); - } + // TODO(php-runtime): PHP also looks for a Hack file (`.hh`) when it runs on HHVM. Only the + // worker, which is the runtime that includes the file, can answer whether it is HHVM, and + // asking boots it, while this lookup is what decides whether it is needed at all. + let file = self.find_file_with_extension(class, ".php"); if let Some(apcu_prefix) = &self.apcu_prefix { // No-op; APCu is not available in Rust. |
