# code-snippets/4.0.0-beta.2/php/Flat_Files/Interfaces/Snippet_Config_Repository.php

Code Snippets, version 4.0.0-beta.2. 42 lines.

- Page: https://pluginprobe.com/plugins/code-snippets/4.0.0-beta.2/code/php/Flat_Files/Interfaces/Snippet_Config_Repository.php
- Raw: https://pluginprobe.com/plugins/code-snippets/4.0.0-beta.2/raw/php/Flat_Files/Interfaces/Snippet_Config_Repository.php
- Modified: 2026-06-19T15:56:12+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/code-snippets/4.0.0-beta.2/code/php/Flat_Files/Interfaces/Snippet_Config_Repository.php#L10-L20`.

```php
<?php

namespace Code_Snippets\Flat_Files\Interfaces;

use Code_Snippets\Model\Snippet;

/**
 * Interface for storing snippet configuration within a flat file.
 */
interface Snippet_Config_Repository {

	/**
	 * Load configuration from a directory.
	 *
	 * @param string $base_dir Full filesystem path to directory.
	 *
	 * @return array Loaded configuration.
	 */
	public function load( string $base_dir ): array;

	/**
	 * Store configuration.
	 *
	 * @param string $base_dir        Full filesystem path to configuration directory.
	 * @param array  $active_snippets List of active snippets.
	 *
	 * @return void
	 */
	public function save( string $base_dir, array $active_snippets ): void;

	/**
	 * Update stored configuration for a snippet.
	 *
	 * @param string    $base_dir Full filesystem path to configuration directory.
	 * @param Snippet   $snippet  Snippet to update.
	 * @param bool|null $remove   Whether to remove the snippet from the configuration.
	 *
	 * @return void
	 */
	public function update( string $base_dir, Snippet $snippet, ?bool $remove = false ): void;
}

```
