|
|
|
|
|
для: Саня
(11.05.2010 в 17:03)
| | О, Благодарю... =) работает как часы. | |
|
|
|
|
|
|
|
для: а-я
(11.05.2010 в 17:01)
| | Не к тому объекту применяете метод.
<?
$refl = new ReflectionClass($name);
$instance = $refl->newInstanceArgs($args);
$instance->start();
|
newInstanceArgs() возвращает объект класса $name, заданный в конструкторе рефлектора. | |
|
|
|
|
|
|
|
для: а-я
(11.05.2010 в 16:55)
| | . | |
|
|
|
|
|
|
|
для: а-я
(11.05.2010 в 16:55)
| | не видит он мои методы.. т.е. не работает
$refl = new ReflectionClass($name);
$refl->newInstanceArgs($args);
$refl->start();// <- не работает...
|
но метод есть в классе и запускается при нормальном создании класса,
даже запускается через конструктор при Reflection...
может не так запускать теперь? | |
|
|
|
|
|
|
|
для: Саня
(11.05.2010 в 16:42)
| | я просто получаю
Fatal error: Call to undefined method ReflectionClass::start()
|
хотя метод "start()" в классе есть...
где-то сам лажанулся...
попытаюсь найти.. еще раз спасибо.. | |
|
|
|
|
|
|
|
для: а-я
(11.05.2010 в 16:38)
| | А с какого в этом объекте что-то будет, если описание его класса выглядит так?
<?
class test {
function __construct($a, $b, $c, $d) {
}
}
|
| |
|
|
|
|
|
|
|
для: Саня
(11.05.2010 в 16:25)
| | что-то понять не могу... он создает что-то свое.. нет ни методов, ни свойств в созданном таким образом экземпляре.. | |
|
|
|
|
|
|
|
для: а-я
(11.05.2010 в 16:07)
| | Не понял кто чего просит...
<?php
class test {
function __construct($a, $b, $c, $d) {
}
}
function load($class) {
$args = func_get_args();
array_shift($args);
$refl = new ReflectionClass($class);
return $refl->newInstanceArgs($args);
}
$test = load('test', 1, 2, 3, 4);
$test2 = load('test', 1, 2, 3, 4);
var_dump($test); // object(test)#2
var_dump($test2); // object(test)#3
var_dump($test === $test2); // false
| Всё работает верно $test и $test2 разные объекты одного и того же класса.
$refl = new ReflectionClass(NEW $class)
| гененрирует много warning'ов | |
|
|
|
|
|
|
|
для: Саня
(11.05.2010 в 09:57)
| | все равно просит готовый экземпляр
<?
class test {
function __construct($a, $b, $c, $d) {
}
}
function load($class) {
$args = func_get_args();
array_shift($args);
$refl = new ReflectionClass(NEW $class);
return $refl->newInstanceArgs($args);
}
$test = load('test', 1, 2, 3, 4);
|
так вроде работает) | |
|
|
|
|
|
|
|
для: Саня
(11.05.2010 в 09:57)
| | благодарю..
2ой вариант отпадает.. желательно не изменять класс.
первый вариант буду тестировать... =) | |
|
|
|
|