1: <?php
2: /**
3: * Hard type support
4: * For when you absolutely want to know what you are getting
5: *
6: * @author Ashley Kitson <akitson@zf4.biz>
7: * @copyright Ashley Kitson, UK, 2014
8: * @licence GPL V3 or later : http://www.gnu.org/licenses/gpl.html
9: */
10: namespace chippyash\Type\Interfaces;
11:
12: /**
13: * Interface for chippyash\Type types
14: */
15: interface TypeInterface
16: {
17: /**
18: * Set the object value
19: * Forces type
20: *
21: * @param mixed $value
22: * @return \chippyash\Type\Interfaces\TypeInterface Fluent Interface
23: */
24: public function set($value);
25:
26: /**
27: * Get the value of the object as a standard PHP type
28: *
29: * @return mixed
30: */
31: public function get();
32:
33: /**
34: * Magic invoke method
35: * Proxy to get()
36: * @see get
37: *
38: * @return mixed
39: */
40: public function __invoke();
41:
42: /**
43: * Magic method - convert to string representation
44: *
45: * @return string
46: */
47: public function __toString();
48: }
49: