[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массив в ООП
Страницы: 1, 2
sergeiss
Цитата (Wind @ 16.11.2015 - 10:41)
Правила не для вас писаны?

Не переживай, мы тут следим за Правилами smile.gif ТС получил 3 дня бана. За что именно - я думаю он понял.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
icedfox
Игорь_Vasinsky, ну можно наворотить со всеми проверками , вот только зачем, если ТС не может и в этих трех скромных строчках разобраться. wink.gif
Dezigo
Не правильный подход, возврат должен быть null, но не false

	return isset($this->ar_data[$key]) ? $this->ar_data[$key] : null;



Посмотрите в сторону интерфейса ArrayAccess

public function setArData($key, $data, $remove=false) {


метод setXXX не должен возвращать результат
Invis1ble
Цитата (Dezigo @ 16.11.2015 - 14:15)
метод setXXX не должен возвращать результат
Dezigo
Цитата (Invis1ble @ 16.11.2015 - 10:21)
Цитата (Dezigo @ 16.11.2015 - 14:15)
метод setXXX не должен возвращать результат

как насчет fluent setters?

Кроме них smile.gif , так как это не результат
icedfox
Цитата (Dezigo @ 16.11.2015 - 16:15)
метод setXXX не должен возвращать результат

Вполне допускаю и возможность использования без возврата результата. Но раз вы предложили свое мнение, то подоприте его и примером обоснованным.
Dezigo
icedfox
Почитайте об идее setters, они созданы для того чтобы задавать значение но не считывать результат - если произошла ошибка, то выкидываете exception
icedfox
Dezigo, да я знаю всю эту идею геттеров/сеттеров. Вы предложили в данном случае ей следовать, ну так подкрепите свои слова оптимальным кодом, который бы соответствовал вашим словам wink.gif
Dezigo
icedfox
Нечего особо не меняется что я написал выше, это стандартное поведение.

Вы хотите оборотиться к свойству
public function getValue($key) {
return isset($this->data[$key]) ? $this->data[$key] : null;
// например в hashMap, значение возвращается null, если элемента нету., этого хорошо для phpunit, и значение может быть false
}

// запись
public function setValue($key, $value) {
$this->data[$key] = $value;
// нужно ли вам проверять на наличие уже записанного свойства? если да, то кидаем исключение
return $this;
}


Понимаете, Вам нужно определиться что вы хотите достичь.
Уже давно всё придумано, берём пример любой и смотрим

user posted image
icedfox
Dezigo, а для проверки наличия свойства вызываем getValue ?
Итого получаем кучу строчек лишнего дублирующегося когда, только ради идеологии ?
Я вас понял.
Dezigo
icedfox
Если вам нужно проверить есть ли ключ то, containsKey($key);

Какой лишний код?
возвращать false, это ужас.

if ($class->containsKey($key)) {
echo $class->getValue($key);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.