public function getSomething($param1, $param2) { $result1 = mysql_query('SELECT * FROM table1'); // ... if ($result1['field'] == $param1) { $result2 = mysql_query('SELECT * FROM table2'); } // ... if ($result2['field'] == $param2) { $result3 = mysql_query('SELECT * FROM table3'); } // ... return isset($result3) ? $result3 : $result2; }
public function sendSomething(array $data) { $ch = curl_init(); $result = mysql_query('SELECT url FROM info WHERE id = ' . $data['someId']); curl_setopt($ch, CURLOPT_URL, $result['url']); curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $data); // ... curl_exec($ch); } public function myMethod() { $data = SomeCLass::getSomeData(); // ... $data = OtherClass::modifyData($data); // ... // - , $data // ... $this->sendSomething($data); // ... return $completelyOtherVariable; }
void uopz_function ( string $class , string $function , Closure $handler [, int $modifiers ] )
uopzFlags($function, $flags); // uopzRedefine($constant, $value); // uopzFunction($function, Closure $closure, $backup = false); // "" uopz_function , backup- : 'mysql_query' ['ClassName', 'methodName'] uopzMuteFunction($function, $backup = false); // -, , , - , curl "" url, etc uopzRestore($function); // backup- uopzBackup($function); // backup / ( ) uopzFunctionSimpleReturn($function, $return, $backup = false); // . return , ( ) . uopzFunctionReplace($function, $replace, $backup = false); // . uopzFunctionConsistentReturn($function, array $return, $backup = false); // . , . , . uopzFunctionConditionReturn($function, array $conditionList, $default = null, $backup = false); // . . uopzFunctionHook($function, Closure $closure, &$return, $backup = false); // .
$this->uopzFunctionConsistentReturn('mysql_query', [ ['id' => 12, 'data' => 'dummy'], ['id' => 31, 'data' => 'dummy'], ['id' => 45, 'data' => 'dummy'], ]); // , , ( , ): $this->uopzFunctionConditionReturn('mysql_query', [ ['query', 'SELECT * FROM table1', ['id' => 12, 'data' => 'dummy']], ['query', 'SELECT * FROM table2', ['id' => 31, 'data' => 'dummy']], ['query', 'SELECT * FROM table3', ['id' => 45, 'data' => 'dummy']], ]);
$this->uopzFunctionHook( ['ClassName', 'sendSomething'], function() { return $data; }, // $data // , myMethod sendSomething $data );
Source: https://habr.com/ru/post/316140/
All Articles