first commit
This commit is contained in:
45
wp-includes/php-ai-client/autoload.php
Normal file
45
wp-includes/php-ai-client/autoload.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* Autoloader for the bundled PHP AI Client library.
|
||||
*
|
||||
* This file is generated by tools/php-ai-client/installer.sh.
|
||||
* Do not edit directly.
|
||||
*
|
||||
* @package WordPress
|
||||
* @subpackage AI
|
||||
* @since 7.0.0
|
||||
*/
|
||||
|
||||
spl_autoload_register(
|
||||
static function ( $class_name ) {
|
||||
// Namespace prefix for the AI client.
|
||||
$client_prefix = 'WordPress\\AiClient\\';
|
||||
$client_prefix_len = 19; // strlen( 'WordPress\\AiClient\\' )
|
||||
|
||||
// Namespace prefix for scoped dependencies (includes Psr\*, Http\*, etc.).
|
||||
$scoped_prefix = 'WordPress\\AiClientDependencies\\';
|
||||
$scoped_prefix_len = 31; // strlen( 'WordPress\\AiClientDependencies\\' )
|
||||
|
||||
$base_dir = __DIR__;
|
||||
|
||||
// 1. WordPress\AiClient\* → src/
|
||||
if ( 0 === strncmp( $class_name, $client_prefix, $client_prefix_len ) ) {
|
||||
$relative_class = substr( $class_name, $client_prefix_len );
|
||||
$file = $base_dir . '/src/' . str_replace( '\\', '/', $relative_class ) . '.php';
|
||||
if ( file_exists( $file ) ) {
|
||||
require $file;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. WordPress\AiClientDependencies\* → third-party/ (strip prefix).
|
||||
if ( 0 === strncmp( $class_name, $scoped_prefix, $scoped_prefix_len ) ) {
|
||||
$relative_class = substr( $class_name, $scoped_prefix_len );
|
||||
$file = $base_dir . '/third-party/' . str_replace( '\\', '/', $relative_class ) . '.php';
|
||||
if ( file_exists( $file ) ) {
|
||||
require $file;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user