|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
||||||
Что здесь не правильно с точки зрения ООП01.09.2016, 17:46. Показов 1958. Ответов 25
Метки нет (Все метки)
Делаю себе классы для авторизация через разные соц.сети (в сети есть решения)Но мне не нужен чужой велосипед.
Я хочу свое, ибо так я изучаю и вникаю в ООП , пока сам не напишу не вникаю в чужое. Я большую часть своих классов пишу с использование private\public - static Часто использую статические методы.На сколько это дурной подход?? Просто если без использования статики, я не могу например сохранить в $appID какое то значение , что бы потом внутри класса мог к нему обратиться и взять оттуда что мне надо. Поэтому я использую статику, т.к он мне позволяет это сделать.
А не я немного ошибся, у меня тут public static function auth статический метод, поэтому я не мог использовать то что в комментариях. Но все равно , хочу услышать на сколько это неверно
0
|
||||||
| 01.09.2016, 17:46 | |
|
Ответы с готовыми решениями:
25
Как вынести определённый механизм в отдельный класс и затем обращаться к нему и правильно ли это с точки зрения ООП Программа с точки зрения ООП C# правильность кода с точки зрения ООП |
| 01.09.2016, 18:13 | ||||||
|
Не по теме: Для сборки URL лучше использовать функцию http_build_query
0
|
||||||
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
| 01.09.2016, 18:15 [ТС] | |
|
Cra3y, Об этой фукнции я знаю, но пока она мне не нужна.
спасибо конечно, Но я бы хотел комментарии по коду и по конкретному моему вопросу, про статические методы , плохо и почему ли?
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 01.09.2016, 19:37 | |
|
В чём необходимость объявления метода
auth статичным? По-моему, нет необходимости. Тем более, что он обращается к свойству, значение которого устанавливается при создании объекта.
0
|
|
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
| 01.09.2016, 19:40 [ТС] | |
|
Para bellum, Это я каюсь, я ошибся, привычка уже вырабатывается писать static
Вот и спрашиваю насколько это ужасно и плохо? Я бы тоже не отказался бы от статьи где подробно бы объяснили в каких ситуациях использовать static методы.Ну или человеческим языком Пытаюсь читать книги по ООП , но не нахожу Понятного для меня объяснения , в каких случаях использовать static, protected , ....
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
|
|||
| 01.09.2016, 20:02 | |||
|
static принадлежит классу, а не объекту, из этого и исходим.
1
|
|||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 01.09.2016, 20:05 | |
|
1
|
|
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
||||||
| 01.09.2016, 20:25 [ТС] | ||||||
|
А можно вопрос по этому? я встречал где то в кодах, чужих, это типо класс пишет перед параметром.
Как это называется и где почитать Я про это Database $database в параметрах конструктора
0
|
||||||
|
Диванный эксперт
|
||
| 01.09.2016, 20:29 | ||
|
0
|
||
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
| 01.09.2016, 20:42 [ТС] | |
|
Cra3y, Это что получается Что мы в свойство класса можем положить объект другого класса и обращаться к нему из текущего ? для этого паттерн внедрение зависимостей?
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
|
||
| 01.09.2016, 20:50 | ||
|
Аналогично работает function test(array $data) - можно передать только массив (к сожалению, допустимо только для объектов и массивов, для других типов данных не работает).
2
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 01.09.2016, 20:55 | ||
1
|
||
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
| 01.09.2016, 21:00 [ТС] | |
|
Jodah, А ну помню помню, я когда то экспериментировал писал туда типы данных, и у меня не работало кроме array().
Jewbacabra, Это хорошо, т.к я последнее время в основной сижу на 7 версии.
0
|
|
|
Диванный эксперт
|
||
| 01.09.2016, 21:08 | ||
|
Внедрение зависимостей упрощает замену реализаций компонентов. В общем смысл в том что мы объявляем интерфейс(список методов которые нам требуются), а реализации предоставляют этот интерфейс и их(реализаций) может быть много. При создании объекта мы передаем объект, реализующий данный интерфейс Не по теме: Честно говоря, я не знаю как это объяснить по простому - сам до конца еще не въехал :D
1
|
||
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
|
|
| 01.09.2016, 21:09 | |
|
Jewbacabra, ооо, точно, нашёл в документации, спасибо!
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||
| 02.09.2016, 06:37 | |||
|
Добавлено через 9 минут Вот тут подробнее: http://php.net/manual/ru/langu... inting.php Там написано:
1
|
|||
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
| 02.09.2016, 12:02 [ТС] | |
|
Para bellum, я понял уже , особо не вижу пока задач где это нужно
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 02.09.2016, 13:27 | ||
|
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||||||||
| 07.09.2016, 07:41 | ||||||||||||
User гарантированно есть метод getBalance.Таким образом, уточняя тип в методе addUser, мы знаем, что метод getSumBalance будет оперировать исключительно с объектами пользователей, в которых точно есть метод getBalance. Значит, никаких ошибок не возникнет.Теперь посмотрим, что будет, если не уточнять тип и положиться на "ну, и так ясно, что туда нужно только объекты User передавать":
1
|
||||||||||||
| 07.09.2016, 07:41 | |
|
Помогаю со студенческими работами здесь
20
Оценить код с точки зрения принципов ООП и корректность в целом Если два метода выполняют одно и то же - с точки зрения программы, но разное - с точки зрения логики? Правильно ли составлены запросы с точки зрения безопасности? Как правильно сделать с точки зрения реляционных БД Правильно ли составлен текст программы с точки зрения синтаксиса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|