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

Ошибка при указании свойства

08.05.2017, 23:53. Показов 673. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с переменной $this в классе а именно почему если в методе указать свойство то возникнет ошибка а если просто указать $this то все будет работать как нужно.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class A{
    public function __construct($a) {
        $this->a = $a;
    }
}
class B{
    public $a = false;
    public $b = true;
    public function setA($flag){
        $this->a = $flag;
        return $this->a;
    }
    public function setB($flag){
        $this->b = $flag;
        return $this->b;
    }
    public function create(){
        return new A($this->a, $this->b);
    }
}
Fatal error: Call to a member function create() on a non-object in W:\domains\zadanie.ru\class.php on line 24
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2017, 23:53
Ответы с готовыми решениями:

Разный регистр букв при указании типа данных
Добрый вечер! Возник вопрос при изучении PHP. Почему при приведении типов в PHP, либо при инициализации переменной типа bool, PHP...

Динамическое создание на форме radioButton. При указании свойства CheckAlign = ContentAlignment.MiddleRight - нет флажка
На форме я создаю динамически radioButton: RadioButton radioButtons; void Create_element(int col = 4) { ...

Ошибка при указании конкретного значения
Задача заключается в том, чтобы для всего, что обозначено булевым, как "Услуга" при попытке задать любое значение отличное от нужного...

1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
09.05.2017, 08:52
1) Ошибка на 24 строке. В приведенном коде 20.
2)
Цитата Сообщение от Sanek_OS9 Посмотреть сообщение
PHP
1
public function __construct($a)
Цитата Сообщение от Sanek_OS9 Посмотреть сообщение
PHP
1
return new A($this->a, $this->b);
Конструктор класса A принимает 1 аргумент. А в методе create класса B создается объект класса A передавая в конструктор 2 аргумента.
3)
Цитата Сообщение от Sanek_OS9 Посмотреть сообщение
PHP
1
return $this->a;
Это не ошибка но выглядит странно. Выглядит похоже на fluent interface, это когда методы возвращает $this, и данные методы можно вызывать по цепочке
PHP
1
2
3
$obj
    ->setA($a)
    ->setB($b);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2017, 08:52
Помогаю со студенческими работами здесь

Ошибка при указании точности для спецификатора %f в scanf
Почему указание точности для спецификации преобразования %f (к примеру %.2f) в строке управления форматом функции scanf (scanf_s) является...

Ошибка при указании ПутьКДанным в программно созданной таблице
Переделываю форму документа КорректировкаЗаписейРегистров под управляемое приложение. Если вручную из реквизитов на форму документа...

При указании относительного пути к папке с картинками возникает ошибка
Здравствуйте. Сразу напишу все проблемы: 1) У меня в базе данных хранятся пути к изображениям. При нажатии на страну, название...

Ошибка при создании поля таблицы и указании расположения поля в таблице
Пытаюсь создать поле с указанием его расположения в таблице. Пока безрезультатно ALTER TABLE AAA ADD COLUMN 12 VARCHAR(100) AFTER 11

Ошибка в указании типа данных
Здравствуйте! Есть простейшая программа, которая записывает данные в файл, которые вводит собсно, юзер. Но вот незадача, паскаль...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru