1<?php
2/**
3 * File containing the ezcBaseExportable interface.
4 *
5 * @package Base
6 * @version 1.8
7 * @copyright Copyright (C) 2005-2009 eZ Systems AS. All rights reserved.
8 * @license http://ez.no/licenses/new_bsd New BSD License
9 */
10/**
11 * Interface for class of which instances can be exported using var_export().
12 *
13 * In some components, objects can be stored (e.g. to disc) using the var_export()
14 * function. To ensure that an object supports proper importing again, this
15 * interface should be implemented.
16 *
17 * @see var_export()
18 */
19interface ezcBaseExportable
20{
21    /**
22     * Returns an instance of the desired object, initialized from $state.
23     *
24     * This method must return a new instance of the class it is implemented
25     * in, which has its properties set from the given $state array.
26     *
27     * @param array $state
28     * @return object
29     */
30    public static function __set_state( array $state );
31}
32
33?>
34