protected function require_files() {
		// Require the autoload class.
		require_once __DIR__ . '/core/class-papi-core-autoload.php';

		$lib_path     = __DIR__ . '/lib/';
		$lib_includes = [
			'core/cache.php',
			'core/conditional.php',
			'core/data.php',
			'core/deprecated.php',
			'core/meta.php',
			'core/store.php',
			'core/post.php',
			'core/io.php',
			'core/property.php',
			'core/slug.php',
			'core/tabs.php',
			'core/taxonomy.php',
			'core/template.php',
			'core/url.php',
			'core/utilities.php',
			'hooks/actions.php',
			'hooks/filters.php',
			'hooks/filters-page-type.php',
			'hooks/filters-taxonomy-type.php',
			'fields/page.php',
			'fields/option.php',
			'fields/taxonomy.php',
			'types/entry.php',
			'types/page.php',
			'types/option.php',
			'types/taxonomy.php'
		];

		// Require function files.
		foreach ( $lib_includes as $file ) {
			if ( file_exists( $lib_path . $file ) ) {
				require_once $lib_path . $file;
			}
		}

		unset( $file );

		// Require admin classes that should not be loaded by the autoload.
		require_once __DIR__ . '/admin/class-papi-admin.php';
		require_once __DIR__ . '/admin/class-papi-admin-ajax.php';
		require_once __DIR__ . '/admin/class-papi-admin-assets.php';
		require_once __DIR__ . '/admin/class-papi-admin-menu.php';

		// Require conditional rules that should not be loaded by the autoload.
		require_once __DIR__ . '/core/class-papi-core-conditional-rules.php';

		// Require REST API classes.
		require_once __DIR__ . '/rest-api/class-papi-rest-api.php';

		// Load Papi CLI class if WP CLI is used.
		if ( defined( 'WP_CLI' ) && WP_CLI ) {
			require_once __DIR__ . '/cli/class-papi-cli.php';
		}
	}