Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 132

Как это реализовать?

02.01.2021, 15:17. Показов 1755. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть class News, внутри него function($a), которая вызывает
другую его функцию, название которой надо передать в виде аргумента $a
, а если такой функции в классе нет – вывести "ошибка"

Подскажите как это сделать так, чтобы увидеть результат в браузере?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.01.2021, 15:17
Ответы с готовыми решениями:

Переменная в имени функции или как это реализовать?
Здравствуйте, можно ли использовать переменную в имени функции? Как такое можно реализовать: массив содержит несколько значений: ...

Как это реализовать?
Имеется следующее задание(привожу его не полностью, т.к. с отдельными его частями я уже справился, а с некоторыми думаю справлюсь своими...

подскаже как это реализовать
Нужен скрипт не знаю как написать. Есть только идея на просторах интернета не нашол. Суть идеи заключаеться в том чтоб создать скрипт для...

4
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
02.01.2021, 15:30
Лучший ответ Сообщение было отмечено geometria как решение

Решение

geometria,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class News
{
    public function exec($a)
    {
        if (!method_exists($this, $a)) {
            throw new Exception('Ошибка');
        }
 
        return $this->$a();
    }
    
    public function foo() 
    {
        return 'foo';
    }
 
    public function test() 
    {
        return 'test';
    }
}
PHP
1
2
3
4
5
6
try {
    $news = new News();
    echo $news->exec('foo');
} catch (Exception $e) {
    echo $e->getMessage();
}
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
02.01.2021, 15:32
Цитата Сообщение от sad67man Посмотреть сообщение
if (!method_exists($this, $a)) {
throw new Exception('Ошибка');
}
Не нужно. И так будет выброшено исключение, только более информативное
https://ideone.com/oEepCa
1
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
02.01.2021, 15:51
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Не нужно. И так будет выброшено исключение, только более информативное
Это уже смотря что требуется. Ведь можно выкинуть свое особое исключение, потом его отдельно отловить и обработать. Можно написать свой текст ошибки, чтоб можно было вывести пользователю (если эта ошибка относится к предметной области) и т.д.
А так может и метод exec не нужен) И так будет ошибка, если метода нет)

PHP
1
2
3
4
5
6
try {
    $news = new News();
    echo $news->$a;
} catch (Throwable $e) {
    echo $e->getMessage();
}
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
02.01.2021, 16:02
Цитата Сообщение от sad67man Посмотреть сообщение
Ведь можно выкинуть свое особое исключение, потом его отдельно отловить и обработать. Можно написать свой текст ошибки, чтоб можно было вывести пользователю (если эта ошибка относится к предметной области) и т.д.
Можно. Но пока все это не сделано, лучше и информативнее то, что php выкинет сам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2021, 16:02
Помогаю со студенческими работами здесь

Как хранить стили в бд или как вообще это реализовать
Имеется: Скрипт вывода таблицы с нужными полями из базы мускула. Он просто выводит все нужные поля из определенной таблицы, а также есть...

Вывод результатов поиска в определенном div классе,как это реализовать?
index файл у меня непростой а с эффектом перелистывания страниц,получается index разделен div классы "item" и каждый item класс...

Как это реализовать? И как это правильно называется?
Всем привет. Хочу достигнуть такого эффекта как на этом сайте http://www.kocha.com.au/ Суть эффекта в том, что мы переходим по страницы...

Qt как это реализовать
у меня в проекте три формы и мне надо чтоб по значению adm открывалась одна форма. оп другому значению другая форма. подскажите как это...

Как это реализовать?
У меня ошибка, сверху Линеар и снизу линеар! а посередине ФреймЛейоут и на нем одна кнопка! Получается кнопка на Верхнем Линеаре то есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru