Вы не зашли.
Главная » PHP » Preg_replace_callback
#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)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#2. Gemorroj Off (107)
Administrator
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
?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#5. Gemorroj Off (107)
Administrator
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');?>
теперь здесь бьет ошибки
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#9. Gemorroj Off (107)
Administrator
2010.09.10 19:07
Код:
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. Morgan Off (10)
Участник
2010.09.16 12:12
и опять я = )
array_map() как то можно подружить с первым параметров типа array($object, 'method') ?
Отредактировано Morgan (2010.09.16 12:12)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#11. Gemorroj Off (107)
Administrator
2010.09.16 14:02
ну да, так же как обычно
#12. Morgan Off (10)
Участник
2010.09.16 22:10
хм, а как обратится к методу через свойство другого класса?
Код:
$result = $object -> var -> method();
как же тут сделать?)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#13. Gemorroj Off (107)
Administrator
2010.09.16 23:11
Код:
span style="color: #0000BB"><?phpclass X{ public $v; public function __construct () { $this->v = new A(); }}class A{ public function f($v) { return 'c'; }}$v = new X;print_r(array_map(array($v->v, 'f'), array('hfdg')));
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.017 s