Спустя 6 минут, 37 секунд (21.06.2012 - 22:12) Игорь_Vasinsky написал(а):
объектов или элементов?
Спустя 7 минут, 48 секунд (21.06.2012 - 22:20) tarantulaaha написал(а):
Цитата (Игорь_Vasinsky @ 21.06.2012 - 19:12) |
объектов или элементов? |
объектов.Поясню.
есть класс
файл js.php:
class myjs {
var $i;
var $scripts;
public function init(){
$this->i=0;
$this->scripts=array();
$this->scripts["count"]=$this->i;
}
function add($url){
$this->scripts[$this->i]="<script type='text/javascript' src='$url'></script>";
$this->i++;
$this->scripts["count"]=$this->i;
}
function getIndex(){
return $this->scripts["index"];
}
function getAsHTML(){
echo $this->scripts;
}
}
$js=new myjs();
$ducument["JavaScript"]=$js;
$document["JavaScript"]->init(); // тут выдает ошибку
ошибка
Notice: Undefined index:JavaScript in /usr/home/chaban/data/www/myav4ik.org.ua/myphp/classes/js.php on line 30
Fatal error: Call to a member function init() on a non-object in /usr/home/chaban/data/www/myav4ik.org.ua/myphp/classes/js.php on line 30
Спустя 23 минуты, 10 секунд (21.06.2012 - 22:43) johniek_comp написал(а):
tarantulaaha
если потянуло на такие извращение то используй clone что бы не ругалось, и нотис это не ошибка, это предупреждение
если потянуло на такие извращение то используй clone что бы не ругалось, и нотис это не ошибка, это предупреждение
Спустя 7 минут, 49 секунд (21.06.2012 - 22:51) Invis1ble написал(а):
tarantulaaha
Цитата |
Как правильно создать ассоциативный массив объектов и работать с ним?? |
так же как и любой другой ассоциативный массив
Спустя 10 часов, 3 минуты, 2 секунды (22.06.2012 - 08:54) tarantulaaha написал(а):
Цитата (johniek_comp @ 21.06.2012 - 19:43) |
tarantulaaha если потянуло на такие извращение то используй clone что бы не ругалось, и нотис это не ошибка, это предупреждение |
Fatal error: Call to a member function init() on a non-object in /usr/home/chaban/data/www/myav4ik.org.ua/myphp/classes/js.php on line 30
Спустя 5 минут, 2 секунды (22.06.2012 - 08:59) tarantulaaha написал(а):
Цитата (Invis1ble @ 21.06.2012 - 19:51) |
так же как и любой другой ассоциативный массив |
Не получается т.к.
при вызове
$document["JavaScript"]->init();
вылетает ошибка.(см. код выше)
Спустя 1 минута, 50 секунд (22.06.2012 - 09:01) Игорь_Vasinsky написал(а):
потому что это не объект, а элемент массива.
нее?
$js=new myjs();
$ducument["JavaScript"]=$js->init();
нее?
Спустя 2 минуты, 1 секунда (22.06.2012 - 09:03) tarantulaaha написал(а):
Цитата (Игорь_Vasinsky @ 22.06.2012 - 06:01) |
потому что это не объект, а элемент массива.$js=new myjs(); нее? |
там есть и другие функции.
нужен именно вариант
$document["JavaScript"]->init();
Спустя 44 секунды (22.06.2012 - 09:03) Игорь_Vasinsky написал(а):
так не обращаются с массивами - это не объект, это массив.
Спустя 4 минуты, 13 секунд (22.06.2012 - 09:08) tarantulaaha написал(а):
Цитата (Игорь_Vasinsky @ 22.06.2012 - 06:03) |
так не обращаются с массивами - это не объект, это массив. |
хм....а как же ООП? получается элемент ассоциативного массива не может быть объектом, а индексного может? т.к. если бы все это сделать так:
$js=new myjs();
$ducument[0]=$js;
$document[0]->init();
то работает прекласно
Спустя 3 минуты, 10 секунд (22.06.2012 - 09:11) Игорь_Vasinsky написал(а):
почему может. как я написал - так может, я поместил объект класса в массив, а ты пытался его инициализировать.
Спустя 9 минут, 13 секунд (22.06.2012 - 09:20) Игорь_Vasinsky написал(а):
на скока я знаю элемент массива может содержать булевые, числовые и строковые значения, он да же может содержать массив, но не как не объект.
Спустя 56 минут, 28 секунд (22.06.2012 - 10:16) lomonosv написал(а):
Внимательно посмотрите на переменные свои
$ducument["JavaScript"]=$js;
$document["JavaScript"]->init(); // тут выдает ошибку
Они помоему разные немного
$ducument["JavaScript"]=$js;
$document["JavaScript"]->init(); // тут выдает ошибку
Они помоему разные немного
Спустя 7 минут, 59 секунд (22.06.2012 - 10:24) lomonosv написал(а):
=)
Спустя 4 минуты, 15 секунд (22.06.2012 - 10:29) varvar написал(а):
следи за переменными, чтоб таких банальных ошибок не было, нужно пользоваться средой разработки а не ноутпадом...
Цитата |
$ducument["JavaScript"]=$js; $document["JavaScript"]->init(); |
Спустя 3 минуты, 44 секунды (22.06.2012 - 10:32) tarantulaaha написал(а):
Цитата (lomonosv @ 22.06.2012 - 07:16) |
Внимательно посмотрите на переменные свои $ducument["JavaScript"]=$js; $document["JavaScript"]->init(); // тут выдает ошибку Они помоему разные немного |
Прошу пояснения
Спустя 2 минуты, 1 секунда (22.06.2012 - 10:34) Игорь_Vasinsky написал(а):
$ducument["JavaScript"]=$js;
$document["JavaScript"]->init(); // тут выдает ошибку
$document["JavaScript"]->init(); // тут выдает ошибку
Спустя 7 минут, 51 секунда (22.06.2012 - 10:42) tarantulaaha написал(а):
Цитата (Игорь_Vasinsky @ 22.06.2012 - 07:34) |
$ducument["JavaScript"]=$js; $document["JavaScript"]->init(); // тут выдает ошибку |
епт. вчера в состоянии полного психологического истощения допустил такую ошибку... спасибо большое...
подбиваю итог: все работает! и добавлять элемент в виде объекта МОЖНО.
Спустя 2 минуты, 38 секунд (22.06.2012 - 10:45) varvar написал(а):
Цитата |
подбиваю итог: все работает! и добавлять элемент в виде объекта МОЖНО. |
конечно можно, объект всегда передается как указатель
Спустя 1 месяц, 10 дней, 18 часов, 55 минут, 36 секунд (3.08.2012 - 05:41) kos написал(а):
$document["JavaScript"]->init(); это функция
$document["JavaScript"]->init; это объект
$document["JavaScript"]->init; это объект
