Core
1 day ago
Modules
1 day ago
vendor
4 weeks ago
Context.php
1 month ago
Plugin.php
1 month ago
loader.php
2 months ago
loader.php
65 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Plugin config. |
| 4 | * |
| 5 | * @package Google\Site_Kit |
| 6 | * @copyright 2021 Google LLC |
| 7 | * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 |
| 8 | * @link https://sitekit.withgoogle.com |
| 9 | */ |
| 10 | |
| 11 | namespace Google\Site_Kit; |
| 12 | |
| 13 | /** |
| 14 | * Loads generated class maps for autoloading. |
| 15 | * |
| 16 | * @since 1.0.0 |
| 17 | * @access private |
| 18 | */ |
| 19 | function autoload_classes() { |
| 20 | $class_map = array_merge( |
| 21 | // Site Kit classes. |
| 22 | include GOOGLESITEKIT_PLUGIN_DIR_PATH . 'includes/vendor/composer/autoload_classmap.php', |
| 23 | // Third-party classes. |
| 24 | include GOOGLESITEKIT_PLUGIN_DIR_PATH . 'third-party/vendor/composer/autoload_classmap.php' |
| 25 | ); |
| 26 | |
| 27 | spl_autoload_register( |
| 28 | function ( $class_instance ) use ( $class_map ) { |
| 29 | if ( |
| 30 | // Only handle classes defined in our class maps. |
| 31 | isset( $class_map[ $class_instance ] ) |
| 32 | // Only load Site Kit classes or others that exist (e.g. polyfills). |
| 33 | && ( |
| 34 | 0 === strpos( $class_instance, 'Google\\Site_Kit\\' ) |
| 35 | || 0 === strpos( $class_instance, 'Google\\Site_Kit_Dependencies\\' ) |
| 36 | || file_exists( $class_map[ $class_instance ] ) |
| 37 | ) |
| 38 | ) { |
| 39 | require_once $class_map[ $class_instance ]; |
| 40 | } |
| 41 | }, |
| 42 | true, |
| 43 | true |
| 44 | ); |
| 45 | } |
| 46 | autoload_classes(); |
| 47 | |
| 48 | /** |
| 49 | * Loads files containing functions from generated file map. |
| 50 | * |
| 51 | * @since 1.0.0 |
| 52 | * @access private |
| 53 | */ |
| 54 | function autoload_vendor_files() { |
| 55 | // Third-party files. |
| 56 | $files = require GOOGLESITEKIT_PLUGIN_DIR_PATH . 'third-party/vendor/autoload_files.php'; |
| 57 | foreach ( $files as $file_identifier => $file ) { |
| 58 | require_once $file; |
| 59 | } |
| 60 | } |
| 61 | autoload_vendor_files(); |
| 62 | |
| 63 | // Initialize the plugin. |
| 64 | Plugin::load( GOOGLESITEKIT_PLUGIN_MAIN_FILE ); |
| 65 |