Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (6) 1 2 [3] 4 5 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> ООП. Философия авторизации
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 70




casper - gg
Цитата
что-то спорит с twin'ом

Тут главное не с кем, а как)
например: "Он воняет лавандой и персиками, а твой воняет говном"

casper - gg
Цитата
Кстати, я то же использую "внедрение зависимостей" вот такое:

А в чём профит? Я не говорю что это правильно или не правильно, просто вопрос, никакого скрытого смысла между строк, никак не пытаюсь что то доказать или опровергнуть, просто хочу услышать ИМХО, почему выбрана такая схема, что она даёт.

Почему так, а не так:
$controller = new Controller($_POST, $_GET);


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 6 дней
Карма: 10




Если честно, то сам не знаю, просто раньше писал вот так
Цитата (Arh @ 23.04.2016 - 14:01)
$controller = new Controller($_POST, $_GET);

а потом стал "внедрять зависимости", ну у меня получилось логично это в таком разрезе:
в первом объекте существует список настроек (типа конфиги), второй работает с БД, но для работы ему нужны настройки, вроде названия таблиц, еще что-то и т.п.
-то есть получается вот так:
$obj = new Worker_System_Users( Worker_Config::get() );


или вот такое то же есть, -
$tpl->viewUser( $obj->browseUsers($_GET['parent']) );


то есть с левой части всегда - объект отображения, а с правой, объект - выборки из БД. А в $tpl всегда объект отвечающий за вывод, а в $obj всегда объект отвечающий за формирование данных.

такая вот самодельная логика , а как правильно, этого конечно не знаю. Но работает и ориентироваться что есть что не так и сложно.

Это сообщение отредактировал casper - gg - 23.04.2016 - 14:53
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Цитата (Arh @ 23.04.2016 - 13:30)
Так вот $_REGUEST['uri'] это зависимость, это не массив и не объект, это вообще строка.
То есть класс зависит от данных, неважно какой у них тип, в данном случает от данных типа string.
Да и вообще классы тут не причём, обычная функция зависит от параметров переданных в неё.
Инъекция это введение, внедрение.

Лол, сам придумал?
Цитата (casper - gg @ 23.04.2016 - 13:42)
правда, только сейчас узнал, что называется вот так. Ну что сказать, - ниче себе, это я что же в, могу говорить что я разбираюсь как внедрять зависимости.

А это как будто так сложно, разобраться с внедрением зависимостей?
Цитата (casper - gg @ 23.04.2016 - 13:42)
что он постоянно что-то спорит с twin'ом. И по-делу и не по-делу.

если ты считаешь, что я не прав или не по делу, так и пиши во время спора. Я более чем уверен, что ты вообще слабо понимаешь, что мы обсуждаем с твином, все мои доводы для тебя как астрономия, наука о далеких звезда, а вот идеалы твина для тебя близки, потому что именно на таких как ты они и рассчитаны.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 70




casper - gg
Цитата
$request = new Request($_POST, $_GET);
$controller = new Controller($request);

Я в таком способе вижу один сомнительный плюс. То что хочет Zzepish.

Вначале запуска системы сделать
$request = new Request($_POST, $_GET);

Что бы сохранить состояние этих массивов, что бы уже было всё равно меняет их кто или нет.

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

Но как тогда в моём примере выше поступить? В контроллер нужно подсунуть $request с другими данными. Создавать еще один и передавать туда ненужные $POST, $SESSION, $COOKIE, $SERVER, $FILES ? А если их кто то поменял? Всё насмарку.

$_POST['key'] = 'кто то поменял';
$request = new Request($_POST, ['key' => 'нужное значение']);
$controller = new Controller($request);


ИМХО класс Request имеет права на существование, только для получения из него данных из первоисточника.

А делать зависимым от него контроллер получается как то монолитно.

Вот так более гибко на мой взгляд
$request = new Request($_POST, $_GET); //где то вначале сохраняем состояние
// код, код, код

$controller = new Controller($request->post, ['key' => 'нужное значение']); // передаём в контроллер неиспорченный POST и нужный нам GET


А вообще это всё похоже на паранойю =)
$_GET сам по себе самодостаточный, оборачивать его смысла нет, да и значение в нём может быть изменено умышленно.
Другое дело обернуть сессию, как уже выше заметили она может в базе хранится.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 6 дней
Карма: 10




Цитата (chee @ 23.04.2016 - 15:27)
если ты считаешь, что я не прав или не по делу, так и пиши во время спора.

когда по коду тогда по-делу, а когда типа "да ты не разбираешься", тогда не по делу. Ну, без "а поговорить", то же не интересно, так что "не по делу", это то же интересно )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Цитата (Arh @ 23.04.2016 - 13:30)
Эгоцентричная

В этом нет ничего плохого, я действительно все делаю для того что бы мне было лучше. Но это не значит, что то что я делаю является заведомо плохим и негативным. То что я твой бред не воспринимаю и говорю тебе прямо об этом, делает тебе услугу, ты начинаешь задумываться о правильности своих подходов и суждений. В итоге ты или нарабатываешь доказательную базу о правоте своих убеждений, либо убеждение становится негативным опытом для тебя.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 70




chee
Цитата
Лол, сам придумал?

Нет блин, списал у соседа. А ты сам свои сообщения придумываешь?

Если что то не понятно спроси что, отправлю тебя в google translate, покажу как в функции можно параметр передать, расскажу что кроме объектов есть другие типы в php.

Цитата
В этом нет ничего плохого, я действительно все делаю для того что бы мне было лучше.

Ты путаешь с эгоизмом.
Эгоист делает всё ради себя.
Эгоцентрист считает что он лучше всех и что его точка зрения всегда истинна, а у остальных всегда самое дно, потому что не так, как у него.
А плохого и негативного от тебя много исходит.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 6 дней
Карма: 10




Эгоцетрист это один из методов Эгоиста, вот так это выглядит в коде:
$ответ = Эго->Эгоист->Эгоцентрист( 'Тема обсуждения' )

:D

Это сообщение отредактировал casper - gg - 23.04.2016 - 15:51
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Цитата (Arh @ 23.04.2016 - 15:44)
Ты путаешь с эгоизмом.
Эгоист делает всё ради себя.
Эгоцентрист считает что он лучше всех и что его точка зрения всегда истинна, а у остальных всегда самое дно, потому что не так, как у него.

Тогда да, я путаю, я эгоист, а не эгоцентрист. Посмотри тему с контейнером, нам очень легко понять, что меня можно переубедить и что я не считаю только своё мнение истинно правильным. Если более опытный программист говорит что ты заблуждаешься, это вовсе не означает что он эгоцентрист, а ты прав в своих суждениях, может быть все наоборот.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 70




chee
Цитата
Посмотри тему с контейнером

Я не говорю что у тебя все 1632 сообщений такие, просто сложилось такое мнение из за немалого количества таких сообщений.
Даже в этом сообщении ты намекаешь что ты опытней, что ты лучше.

Цитата
Если более опытный программист говорит что ты заблуждаешься, это вовсе не означает что он эгоцентрист


В том и дело что ты не говоришь что кто то заблуждается и почему.
Типа "Я считаю так неправильно, потому что ..."
Ты говоришь это так, как бы сказал эгоцентрист, скорее даже обвиняешь:
"У тебя всё гавно потому что я уже целую неделю делаю вот так, а у тебя всё по другому, у тебя не хватает опыта понять как надо, поэтому даже объяснять не буду, потому что сам нихера не понимаю, но у меня круче, инфа 146%"

Но это только моё сложившееся впечатление, может у других не такое, так что не зацикливайся, а то съезжает =)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Arh, твой код на гитхабе, я делаю выводы о твоём уровне по нему.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 8 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 17 дней


Раз про меня вспомнили, своё имхо выскажу.
Цитата (chee @ 23.04.2016 - 08:33)
Внедрение зависимостей это именно объектная фишка
Это с чего бы вдруг? Вспомни про свой любимый композер. Что он есть суть? Менеджер зависимостей. И зависимость тут, это вовсе не объект, а целая либа. Иногда даже с картинками.
Это одна крайность, в сторону увеличения. Есть и другая. В сторону уменьшения:
function recepient($dependensy)
{
$dependensy->__invoke();
}

$dep_one = function() {
echo 'Я что, не зависимость?';
};

$dep_two = function() {
echo ' А я? Вот даже сейчас обидно стало';
};

recepient($dep_one);
recepient($dep_two);
Где ты здесь видишь хоть один объект?

Так что не нужно присваивать тебе не принадлежащее. Никакая это не объектная фишка. Зависимость - от слова "зависеть". Не более и не менее.

И если что-то не берет это само, а ему это принудительно втыкают, как укол в жопу, то это инъекция. Так что вполне можно внедрение массива обозвать "внедрением зависимости".

Хотя о чем я. Сам недавно писал статью, что сколько ООПэшников, столько и мнений. :D


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 70




chee
Цитата
Arh, твой код на гитхабе, я делаю выводы о твоём уровне по нему.

Уровне чего? Уровне приближенности к твоим личным идеалам?
К тому же у меня сейчас нет актуальных проектов с открытым доступом. За пол года многое что изменилось, мне мой старый код тоже не везде нравится, всегда есть желание сделать лучше, да и стиль у всех разный и задачи, тут на вкус и цвет.

И твой скилл в чём то одном не делает тебя спецом вообще во всём.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 6 дней
Карма: 10




так вот часто о чем спорите, думаю что за зависимости, нужно в них разобраться (уже где-то часов с двух дня разбираюсь в зависимостях -) ), а оно вон че: внедрение объекта зависимостей, внедрение массива зависимостей, передача аргумента в функцию так же по сути внедрение зависимости результата работы функции от переданного в нее аргумента. Хух, скоро буду выучать, что такое композер, а потом и ди поучу.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 8 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 17 дней


casper - gg
Инъекцию не только аргументом можно. Важно, что оно туда попало принудительно)


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (6) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса