$this->load( $class_name ) ); } public function load( string $class_name ): void { if ( ! str_starts_with( $class_name, $this->namespace_prefix ) ) { return; } $relative_name = substr( $class_name, strlen( $this->namespace_prefix ) ); $class_file = $this->source_directory . str_replace( self::NAMESPACE_SEPARATOR, self::DIRECTORY_SEPARATOR, $relative_name ) . self::FILE_EXTENSION; if ( ! is_readable( $class_file ) ) { return; } require_once $class_file; } }