За последние 24 часа нас посетили 17804 программиста и 1712 роботов. Сейчас ищут 1063 программиста ...

Использование функций в классе

Тема в разделе "PHP для новичков", создана пользователем ARACOOL, 7 янв 2009.

  1. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Есть определенный класс, и отдельная функция. Как мне использовать эту функцию в этом класс?
     
  2. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    функции определены глобально как и константы..
    PHP:
    1. <?php
    2. function pzpzp() {
    3.  echo ("Ну это опа какая-то");
    4. }
    5. class opa {
    6.  public static function aaa() {
    7.   pzpzp();                    
    8.  }
    9. }
    10.  
    11. opa::aaa();                // Ну это опа какая-то
    Ну, конечно, если функция не определена в теле класса
     
  3. quazare

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

    С нами с:
    3 июн 2008
    Сообщения:
    88
    Симпатии:
    0
    Адрес:
    Nsk
    а лучше все-таки определить ее в классе, тогда можно о ней будет "забыть" :)
     
  4. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Эта функция используется в 3х классах. Что бы код не повторялся вынес его в отдельный файл и просто пытаюсь подключить его в классы
     
  5. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    ARACOOL
    Аватарку на фото смените или удалите.
    Автолоад вас спасёт.
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Для этого есть наследование или инкапсуляция.
     
  7. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Функция не в классе
     
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А в чем проблема сделать из нее класс и унаследовать её?
     
  9. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    сделать класс и методов которые ни связаны между собой? Зачем
     
  10. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    тогда зачем тип static придумали?
     
  11. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Значит придется все таки создать класс и внести туда все функции, для последующего использования в других классах?
     
  12. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Можно так, можно просто функцию определить и использовать где угодно.
     
  13. quazare

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

    С нами с:
    3 июн 2008
    Сообщения:
    88
    Симпатии:
    0
    Адрес:
    Nsk
    я не правильно выразился изначально - нужно просто создать интерфейс.
     
  14. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    думаю, опять неправильно выразился
     
  15. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Можно показать примером..?
     
  16. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
  17. ARACOOL

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

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Спасибо, я сразу испробовал этот способ но он во многих моментах движка не приемлем. Думал может еще как можно по другому.
     
  18. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    ARACOOL
    /me чешет репу...
    тебе надо было использование функции внутри классов и объектов... да где угодно.. объвил и пользуй где хочешь
     
  19. quazare

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

    С нами с:
    3 июн 2008
    Сообщения:
    88
    Симпатии:
    0
    Адрес:
    Nsk
    Кстати, почему???

    PHP:
    1.  
    2. interface sample{
    3. public function aaa();
    4. }
    5.  
    6. class myClass implements sample{
    7.  
    8. .... .... ...
    9.  
    10. }
    11.  
    12.  
     
  20. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Как раз то что надо один метод для разных по своим сущностям классов.Интерфейс и подходит.
     
  21. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ему надо употребить один раз код функции и она везде одинаковая.
     
  22. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Понятно.Тогда действительно static
     
  23. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Зачем ему static метод если есть уже готовая функция?
     
  24. quazare

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

    С нами с:
    3 июн 2008
    Сообщения:
    88
    Симпатии:
    0
    Адрес:
    Nsk
    на самом деле - делай хоть как - все будет работать...