1: <?php
2: /*
3: * Copyright (c) 2015 @trashtoy
4: * https://github.com/trashtoy/
5: *
6: * Permission is hereby granted, free of charge, to any person obtaining a copy of
7: * this software and associated documentation files (the "Software"), to deal in
8: * the Software without restriction, including without limitation the rights to use,
9: * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
10: * Software, and to permit persons to whom the Software is furnished to do so,
11: * subject to the following conditions:
12: *
13: * The above copyright notice and this permission notice shall be included in all
14: * copies or substantial portions of the Software.
15: *
16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18: * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19: * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20: * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21: * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22: */
23: /**
24: * PHP class file.
25: * @auhtor trashtoy
26: * @since 2.1.0
27: */
28: namespace Peach\DF;
29:
30: /**
31: * 特定のアルゴリズムに従ってデータの符号化 (文字列への変換) および復号を行うインタフェースです.
32: */
33: interface Codec
34: {
35: /**
36: * 指定された値を符号化し, 変換結果の文字列を返します.
37: * 引数に指定できる型はこのインタフェースの実装クラスによって異なります.
38: *
39: * @param mixed $var 変換対象の値
40: * @return string 変換結果の文字列
41: */
42: public function encode($var);
43:
44: /**
45: * 指定された文字列を複合し, 別のデータ形式に変換します.
46: * 返り値の型はこのインタフェースの実装クラスによって異なります.
47: *
48: * @param string $text 変換元の文字列
49: * @return mixed 変換結果
50: */
51: public function decode($text);
52: }
53: