- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
![Зачем быть уникальным в мире, где все можно скопировать](https://d.searchengines.guru/20/96/frame_27_600x314__b353b658.jpg)
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
![В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи](https://d.searchengines.guru/20/96/odnoklassniki-hombre_600x314__dd3191c2.jpg)
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, сейчас осваиваю ООП, возникли проблемы. Просто стопор, не могу понять как сделать...
Вот у меня абстрактный класс:
protected static $dir;
public static function get()
{
return self::$dir;
}
}
Класс наследник:
protected static $dir = "text";
}
Подключаю файлы, пишу echo upload_text::get();
У меня нечего не работает, т.е. значение $dir не передаеться вообще.
А вот допустим если в родительском классе напишу так:
{
return upload_text::$dir;
}
То работает. Что за бред? Подскажите, пожалуйста, как передавать данные между классами, почему не работает?
почему не работает?
потому что static. Версия PHP какая?
Могу ошибиться, некогда вникать. Но вроде все методы, объявленные в абстрактном классе должны быть объявленные и в дочернем классе.
ПС - некогда вникать, мог ошибиться, нужно мануал глянуть в этом направлении.
revered, используя self вы обращаетесь к свойству которое находится в родителе(upload), а оно пустое, поэтому и возвращает null.
1. Или переопределите(продублируйте) метод get в дочернем классе, что бы он ссылался уже на своё свойство dir
2. Или обратитесь к свойству не через self, а через static
Могу ошибиться, некогда вникать. Но вроде все методы, объявленные в абстрактном классе должны быть объявленные и в дочернем классе.
Тут не надо вникать, тут надо понимать разницу между "просто" методом абстрактного класса и абстрактным методом абстрактного класса.
Методы, реализованные (имеющие реализацию в абстрактном классе) и методы объявленные (помеченные как abstract в абстрактном классе) - это "две большие разницы" (с)
revered, используя self вы обращаетесь к свойству которое находится в родителе(upload), а оно пустое, поэтому и возвращает null.
1. Или переопределите(продублируйте) метод get в дочернем классе, что бы он ссылался уже на своё свойство dir
2. Или обратитесь к свойству не через self, а через static
2 метод помог. Спасибо большое, теперь я понял, что в таких случаях нужно обращаться через статик, а я даже незнал, что так можно :)
Спасибо большое, очень помогли!
Late static binding - это одна из киллер-фич PHP v5.3, очень ее не хватало в свое время...