#1 2010.08.29 02:13

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Preg_replace_callback

Как обратиться к статической функции текущего класса?
пробую
preg_repalce_callback('...', 'self::function')
но бьет ошибку
Добавлено спустя   2 минуты  6 секунд:
и как узнать имя класса ?
get_class применимо только к обьектам.
покажу на примере что мне нужно

Код:

1
span style="color: #0000BB"><?php// класс 'a', название меняется частоclass a{static function b(){echo 'this class name is a!';}}?>

Отредактировано Morgan (2010.08.29 10:48)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#2 2010.08.29 10:04

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Preg_replace_callback

Код:

1
span style="color: #0000BB"><?phpclass a{ static function b() { echo __CLASS__; }}

self::method отлично работает

Неактивен

#3 2010.08.29 10:58

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

Код:

1
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 2010.08.29 14:31

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

?


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#5 2010.08.29 14:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Preg_replace_callback

php 5.3.3

Код:

1
2
3
4
5
6
7
8
9
10
11
12
array(2) {
[0]=>
string(12) "1dsadsdaasd1"
[1]=>
string(12) "1dsadsdaasd1"
}
array(2) {
[0]=>
string(0) ""
[1]=>
string(0) ""
}

Неактивен

#6 2010.08.29 15:22

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

оказывается в php 5.2.4 такое не прокатывает.
заменил на
static $class_name = __CLASS__;
...
self::$class_name.'::method'
))

Отредактировано Morgan (2010.08.29 15:28)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#7 2010.08.29 16:37

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

подсказали еще  array('self', 'b');


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#8 2010.09.10 11:37

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

Код:

1
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');?>

теперь здесь бьет ошибки


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#9 2010.09.10 19:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Preg_replace_callback

Код:

1
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');

Неактивен

#10 2010.09.16 12:05

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Preg_replace_callback

и опять я = )
array_map() как то можно подружить с первым параметров типа array($object, 'method') ?

Отредактировано Morgan (2010.09.16 12:14)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.011 s