Вы не зашли.
#1.
Morgan
Off
(10)
Участник
2010.08.29 02:02
Как обратиться к статической функции текущего класса?
пробую
preg_repalce_callback('...', 'self::function')
но бьет ошибку
Добавлено спустя 2 минуты 6 секунд: и как узнать имя класса ?
get_class применимо только к обьектам.
покажу на примере что мне нужно
Код:
span style="color: #0000BB"><?php// класс 'a', название меняется частоclass a{static function b(){echo 'this class name is a!';}}?> |
Отредактировано Morgan (2010.08.29 10:10)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
Код:
span style="color: #0000BB"><?phpclass a{ static function b() { echo __CLASS__; }} |
self::method отлично работает
#3.
Morgan
Off
(10)
Участник
2010.08.29 10:10
Код:
span style="color: #0000BB"><?phpclass a{static function c(){$t = preg_replace_callback('~(.*)~', 'self::b', '1dsadsdaasd1');}static function b($data){var_dump($data);}}a::c();?> |
-->
Fatal error: Cannot call method self::b() or method does not exist
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#4.
Morgan
Off
(10)
Участник
2010.08.29 14:02
?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
php 5.3.3
Код:
array(2) { |
[0]=> |
string(12) "1dsadsdaasd1" |
[1]=> |
string(12) "1dsadsdaasd1" |
} |
array(2) { |
[0]=> |
string(0) "" |
[1]=> |
string(0) "" |
} |
#6.
Morgan
Off
(10)
Участник
2010.08.29 15:03
оказывается в php 5.2.4 такое не прокатывает.
заменил на
static $class_name = __CLASS__;
...
self::$class_name.'::method'
))
Отредактировано Morgan (2010.08.29 15:03)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#7.
Morgan
Off
(10)
Участник
2010.08.29 16:04
подсказали еще array('self', 'b');
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#8.
Morgan
Off
(10)
Участник
2010.09.10 11:11
Код:
span style="color: #0000BB"><?phpclass a{function b($a){echo $a;}function c($b){$b = preg_replace_callback('.*', array('this', 'b'), $b);}}$a = new A();$a -> c('adsasdasd');?> |
теперь здесь бьет ошибки
Натан ротшильд :
Кто владеет информацией, тот владеет миром
Код:
span style="color: #0000BB"><?phpclass A{ public function b($a) { print_r($a); } public function c($b) { $b = preg_replace_callback('/.*/', array($this, 'b'), $b); }}$a = new A();$a -> c('adsasdasd'); |
и опять я = )
array_map() как то можно подружить с первым параметров типа array($object, 'method') ?
Отредактировано Morgan (2010.09.16 12:12)
Натан ротшильд :
Кто владеет информацией, тот владеет миром