Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: не работает конструктор класса

Сообщения:  [1-10]   [11-14] 

 
 автор: SDL   (27.10.2008 в 15:27)   письмо автору
 
   для: Assessor   (27.10.2008 в 14:22)
 

хм.. вообще смысл объявлять статической переменную был такой, что для всех объектов она будет общей.
То есть в данном случае можно было бы посчитать количествообъявленных объектов (как пример).

если выводить echo $n; или echo Counter::$n; то будет выводиться ошибка Parse error: parse error, unexpected ';', expecting '(' in "..."\project\test.php on line 18

то есть смысл - объявить и использовать некоторую глобальную для данного класса переменную.

  Ответить  
 
 автор: SDL   (27.10.2008 в 14:57)   письмо автору
 
   для: mechanic   (27.10.2008 в 14:22)
 

при коде

<?php
class Counter
{
    var 
$n 0;
    function 
Counter()
    {
        
Counter::$n++;
    }
}
$object1 = new Counter;
$object2 = new Counter;
$object3 = new Counter;
echo 
"count(objects):".Counter::$n;
?>

выводил

Parse error: parse error, unexpected T_INC, expecting '(' in "site"\test.php on line 7


впрочем я понял. в php4 некоторые конструкции запрещены.

  Ответить  
 
 автор: SDL   (27.10.2008 в 14:55)   письмо автору
 
   для: Assessor   (27.10.2008 в 14:22)
 

работает.
фэнькс)

  Ответить  
 
 автор: mechanic   (27.10.2008 в 14:22)   письмо автору
 
   для: SDL   (27.10.2008 в 13:19)
 

вывод ошибок включен? если уж echo ничего не дает, видимо где то фатал произошел

  Ответить  
 
 автор: Assessor   (27.10.2008 в 14:22)   письмо автору
 
   для: SDL   (27.10.2008 в 13:19)
 

class Counter
{
    function Counter()
    {
        static $n;

        $n++;

        echo "static";
        echo $n;
    }
}

$object1 = new Counter;
$object2 = new Counter;
$object3 = new Counter;


по идеи такой код в php4 должен работать... А вообще выводите ошибки в браузер, чтоб было видно на что ругается...

  Ответить  
 
 автор: SDL   (27.10.2008 в 13:19)   письмо автору
 
   для: cheops   (27.10.2008 в 12:00)
 

так как обойти этот угол, чтобы заработало?
я изменил

static $n = 0;

на

var $n = 0;

и ничего не произошло. не пишет

  Ответить  
 
 автор: cheops   (27.10.2008 в 12:00)   письмо автору
 
   для: SDL   (27.10.2008 в 01:47)
 

А статических членов класса до PHP 5, помоему тоже не было...

  Ответить  
 
 автор: SDL   (27.10.2008 в 01:47)   письмо автору
 
   для: BinLaden   (26.10.2008 в 23:46)
 

изменил

<?php
class Counter
{
    static 
$n 0;
    function 
Counter()
    {
        echo 
"static";
        
Counter::$n++;
    }
}
$object1 = new Counter;
$object2 = new Counter;
$object3 = new Counter;
echo 
Counter::$n;
?>


результат - тот же. ничего не выводит

более того, если вывести

echo "count(objects):".Counter::$n;

то даже надписи count(objects): не будет

  Ответить  
 
 автор: SDL   (27.10.2008 в 01:44)   письмо автору
 
   для: Trianon   (27.10.2008 в 00:03)
 

не тянет)
нужен именно старый вариант. свои причины

  Ответить  
 
 автор: Trianon   (27.10.2008 в 00:03)   письмо автору
 
   для: SDL   (26.10.2008 в 19:14)
 

>стоит Денвер состав его такой
>PHP 4.3.0 (30 декабря 2002)

......

>phpMyAdmin 2.3.0 (август 2002 г.)

......!

>MySQL 3.23.53 (ноябрь 2002 г.)

......!!!

Проапгрейдиться не тянет?

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования