За последние 24 часа нас посетили 17515 программистов и 1691 робот. Сейчас ищут 986 программистов ...

основы ООП

Тема в разделе "PHP для новичков", создана пользователем Rumato, 6 фев 2011.

  1. Rumato

    Rumato Активный пользователь

    С нами с:
    26 дек 2010
    Сообщения:
    77
    Симпатии:
    0
    Здравствуйте, у меня вопрос из учебника
    Код (Text):
    1.  
    2. class Articles { // Создаем класс Статей
    3.   var $title;
    4.   var $author;
    5.   var $description;
    6. // метод, который присваивает значения
    7. // атрибутам класса
    8.   function make_article($t="Автор", $a = "Название", $d = "Бла"){
    9.     $this->title = $t;
    10.     $this->author = $a;
    11.     $this->description = $d;
    12.   }
    13. //метод для отображения экземпляров класса
    14.   function show_article(){
    15.     $art = $this->title . "<br>" .
    16.            $this->description .
    17.       "<br>Автор: " . $this->author;
    18.     echo $art;
    19.   }
    20. }
    мне просто не понятно почему браузер не отображает никакой информации, т.е. как я понимаю function show_article() - должна отображать данные? гугл и п.р. не помогли догадываюсь про область видимости или ещё что-то, подскажите, буду благодарен
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    1. Ты вообще вызвал метод класса?
    2. Выкини книгу, она по РНР 4
     
  3. Pilgrim

    Pilgrim Активный пользователь

    С нами с:
    29 янв 2011
    Сообщения:
    14
    Симпатии:
    0
    Адрес:
    Сумы
    я не пойму откуда взялся вывод что это php4?
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Из твоей неопытности
     
  5. Pilgrim

    Pilgrim Активный пользователь

    С нами с:
    29 янв 2011
    Сообщения:
    14
    Симпатии:
    0
    Адрес:
    Сумы
    ну это ясно :) а поконкретнее можно ?
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    1. свойства объявлены ключевым словом var (инкапсуляция появилась только в РНР 5)
    2. функции объявлены без ключевого слова доступа (public, private, protected)

    Перепиши с учетом того, что я назвал, и код станет РНР 5+
     
  7. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?
    2.  
    3. class Articles { // Создаем класс Статей
    4.   private $title, $author, $description;
    5.  
    6.  // метод, который присваивает значения
    7.  // атрибутам класса
    8.   public function make_article($t="Автор", $a = "Название", $d = "Бла"){
    9.     $this->title = $t;
    10.     $this->author = $a;
    11.     $this->description = $d;
    12.   }
    13.  
    14.  //метод для отображения экземпляров класса
    15.   public function show_article(){
    16.     $art = $this->title . "<br>" .
    17.            $this->description .
    18.       "<br>Автор: " . $this->author;
    19.     echo $art;
    20.   }
    21. };
    Вуаля, теперь этот код стал кодом РНР 5
    Правда лучше он не стал, лишь обзавелся ключевыми словами.
     
  8. Pilgrim

    Pilgrim Активный пользователь

    С нами с:
    29 янв 2011
    Сообщения:
    14
    Симпатии:
    0
    Адрес:
    Сумы
    теперь ясно. Спасибо :)
    пойду переписывать свой код...
     
  9. Rumato

    Rumato Активный пользователь

    С нами с:
    26 дек 2010
    Сообщения:
    77
    Симпатии:
    0
    это просто различия в версиях? спасибо, буду дальше разбираться, выкину книжку)))