1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace Grav\Common\Data;
- use RocketTheme\Toolbox\File\FileInterface;
- /**
- * Data interface
- *
- * @author RocketTheme
- * @license MIT
- */
- interface DataInterface
- {
- /**
- * Get value by using dot notation for nested arrays/objects.
- *
- * @example $value = $data->value('this.is.my.nested.variable');
- *
- * @param string $name Dot separated path to the requested value.
- * @param mixed $default Default value (or null).
- * @param string $separator Separator, defaults to '.'
- * @return mixed Value.
- */
- public function value($name, $default = null, $separator = '.');
- /**
- * Merge external data.
- *
- * @param array $data
- * @return mixed
- */
- public function merge(array $data);
- /**
- * Return blueprints.
- */
- public function blueprints();
- /**
- * Validate by blueprints.
- *
- * @throws \Exception
- */
- public function validate();
- /**
- * Filter all items by using blueprints.
- */
- public function filter();
- /**
- * Get extra items which haven't been defined in blueprints.
- */
- public function extra();
- /**
- * Save data into the file.
- */
- public function save();
- /**
- * Set or get the data storage.
- *
- * @param FileInterface $storage Optionally enter a new storage.
- * @return FileInterface
- */
- public function file(FileInterface $storage = null);
- }
|