# elementor/3.9.1/modules/library/module.php

Elementor Website Builder – more than just a page builder, version 3.9.1. 59 lines.

- Page: https://pluginprobe.com/plugins/elementor/3.9.1/code/modules/library/module.php
- Raw: https://pluginprobe.com/plugins/elementor/3.9.1/raw/modules/library/module.php
- Modified: 2022-03-01T09:13:28+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/elementor/3.9.1/code/modules/library/module.php#L10-L20`.

```php
<?php
namespace Elementor\Modules\Library;

use Elementor\Core\Base\Module as BaseModule;
use Elementor\Modules\Library\Documents;
use Elementor\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor library module.
 *
 * Elementor library module handler class is responsible for registering and
 * managing Elementor library modules.
 *
 * @since 2.0.0
 */
class Module extends BaseModule {

	/**
	 * Get module name.
	 *
	 * Retrieve the library module name.
	 *
	 * @since 2.0.0
	 * @access public
	 *
	 * @return string Module name.
	 */
	public function get_name() {
		return 'library';
	}

	/**
	 * Library module constructor.
	 *
	 * Initializing Elementor library module.
	 *
	 * @since 2.0.0
	 * @access public
	 */
	public function __construct() {
		Plugin::$instance->documents
			->register_document_type( 'not-supported', Documents\Not_Supported::get_class_full_name() )
			->register_document_type( 'page', Documents\Page::get_class_full_name() )
			->register_document_type( 'section', Documents\Section::get_class_full_name() );

		$experiments_manager = Plugin::$instance->experiments;

		// Register `Container` document type only if the experiment is active.
		if ( $experiments_manager->is_feature_active( 'container' ) ) {
			Plugin::$instance->documents
				->register_document_type( 'container', Documents\Container::get_class_full_name() );
		}
	}
}

```
