# assistant/0.3.1/backend/autoloader.php

Assistant – Every Day Productivity Apps, version 0.3.1. 27 lines.

- Page: https://pluginprobe.com/plugins/assistant/0.3.1/code/backend/autoloader.php
- Raw: https://pluginprobe.com/plugins/assistant/0.3.1/raw/backend/autoloader.php
- Modified: 2020-03-25T19:33:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/assistant/0.3.1/code/backend/autoloader.php#L10-L20`.

```php
<?php

spl_autoload_register(
	function ( $class ) {
		// project-specific namespace prefix
		$prefix = 'FL\\Assistant\\';
		// base directory for the namespace prefix
		$base_dir = trailingslashit( sprintf( '%s/src/', __DIR__ ) );
		// does the class use the namespace prefix?
		$len = strlen( $prefix );
		if ( strncmp( $prefix, $class, $len ) !== 0 ) {
			// no, move to the next registered autoloader
			return;
		}
		// get the relative class name
		$relative_class = substr( $class, $len );
		// replace the namespace prefix with the base directory, replace namespace
		// separators with directory separators in the relative class name, append  with .php
		$file = $base_dir . str_replace( '\\', '/', $relative_class ) . '.php';
		// if the file exists, require it
		if ( file_exists( $file ) ) {
			/** @noinspection PhpIncludeInspection */
			require $file;
		}
	}
);

```
