source: Dev/branches/cakephp/cake/libs/overloadable_php5.php @ 126

Last change on this file since 126 was 126, checked in by fpvanagthoven, 14 years ago

Cakephp branch.

File size: 2.5 KB
Line 
1<?php
2/**
3 * Overload abstraction interface.  Merges differences between PHP4 and 5.
4 *
5 * PHP versions 4 and 5
6 *
7 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8 * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
9 *
10 * Licensed under The MIT License
11 * Redistributions of files must retain the above copyright notice.
12 *
13 * @copyright     Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
14 * @link          http://cakephp.org CakePHP(tm) Project
15 * @package       cake
16 * @subpackage    cake.cake.libs
17 * @since         CakePHP(tm) v 1.2
18 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
19 */
20
21/**
22 * Overloadable class selector
23 *
24 * Load the interface class based on the version of PHP.
25 *
26 * @package       cake
27 * @subpackage    cake.cake.libs
28 */
29class Overloadable extends Object {
30
31/**
32 * Overload implementation. No need for implementation in PHP5.
33 *
34 * @access public
35 */
36        function overload() { }
37
38/**
39 * Magic method handler.
40 *
41 * @param string $method Method name
42 * @param array $params Parameters to send to method
43 * @return mixed Return value from method
44 * @access private
45 */
46        function __call($method, $params) {
47                if (!method_exists($this, 'call__')) {
48                        trigger_error(sprintf(__('Magic method handler call__ not defined in %s', true), get_class($this)), E_USER_ERROR);
49                }
50                return $this->call__($method, $params);
51        }
52}
53
54/**
55 * Overloadable2 class selector
56 *
57 * Load the interface class based on the version of PHP.
58 *
59 * @package       cake
60 */
61class Overloadable2 extends Object {
62
63/**
64 * Overload implementation. No need for implementation in PHP5.
65 *
66 * @access public
67 */
68        function overload() { }
69
70/**
71 * Magic method handler.
72 *
73 * @param string $method Method name
74 * @param array $params Parameters to send to method
75 * @return mixed Return value from method
76 * @access private
77 */
78        function __call($method, $params) {
79                if (!method_exists($this, 'call__')) {
80                        trigger_error(sprintf(__('Magic method handler call__ not defined in %s', true), get_class($this)), E_USER_ERROR);
81                }
82                return $this->call__($method, $params);
83        }
84
85/**
86 * Getter.
87 *
88 * @param mixed $name What to get
89 * @param mixed $value Where to store returned value
90 * @return boolean Success
91 * @access private
92 */
93        function __get($name) {
94                return $this->get__($name);
95        }
96
97/**
98 * Setter.
99 *
100 * @param mixed $name What to set
101 * @param mixed $value Value to set
102 * @return boolean Success
103 * @access private
104 */
105        function __set($name, $value) {
106                return $this->set__($name, $value);
107        }
108}
Note: See TracBrowser for help on using the repository browser.