Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не понимаю ООП [3]
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Не понимаю ООП

Страниц (8): « 1 2 [3] 4 5 6 7 8 »
 

31. LIME - 13 Марта, 2013 - 19:15:07 - перейти к сообщению
igosja сам задавался подобным вопросом
понял только начав
и сейчас в процессе понимания
приведу пример:
есть 2 файла robots.txt и .ftpaccess
надо дать к ним доступ из админки
причем с сохранением истории изменений, с записью времени и логина изменившего итд итп и хз что еще
отличия только в пути/имени и титле/надписи в админке
реализуем абстрактный класс со всем ф-аналом
потом наследуем в разных классах только указав в каждом свои св-ва
надо еще файл открыть? не вопрос наследуем...что ? только для юзера васи? не вопрос
переопределяем методы...сначала проверяем юзера потом применяем parent::method()
ну придумал как умел))
как это процедурно лучше сделать сейчас даже не придумаю
по любому больше гимора
32. digi - 13 Марта, 2013 - 20:34:58 - перейти к сообщению
igosja пишет:
Да, извесно. Не могли бы Вы перейти к результирующей части этих распросов.


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

если человек использует композер, то он явно плотно работает с ООП т.е. интесует всёже не "известно", а "пользуешься" ли? ;)

также небыло ответа на счет фреймворков... новычки часто кидаются на CodeIgniter, мотивируя тем что он самый простой и "лёгкий", ну это тоже уже что-то говорит о некотором уровне знаний и навыков ;) если человек уже покрутил Yii это еще интереснее ;)) а если нашел в себе потенциал и освоился с Symfony2, то это уже совсем другой уровень подготовки...
33. igosja - 14 Марта, 2013 - 08:51:15 - перейти к сообщению
Всем спасибо за ответы.
Скажу чесно - понимание пользы ООП не увеличилось ни на грамм, но все равно благодарен.
Судя по всему я не представляю себе целосной картины, а мыслю мелкими кусками кода.
34. LIME - 14 Марта, 2013 - 08:53:02 - перейти к сообщению
LIME пишет:
igosja сам задавался подобным вопросом
понял только начав
и не увеличится
35. armancho7777777 - 14 Марта, 2013 - 08:55:58 - перейти к сообщению
igosja пишет:
понимание пользы ООП не увеличилось ни на грамм

Всё придёт с опытом.
36. esterio - 14 Марта, 2013 - 11:30:53 - перейти к сообщению
igosja пишет:
а мыслю мелкими кусками кода.

Мислить нужно интерфейсами а не реализацией.
37. Roni - 22 Марта, 2013 - 05:12:41 - перейти к сообщению
Читаю шаблоны проектирования, но тоже не вижу конкретного применения. Пока использую статические классы, без наследования. Ну максимум класс возвращающий объекты по запросу. Хотя уже так гораздо удобнее чем, без ООП. А вот как писать интерфейсами, не доходит... Попробую написать интерфейс к модулям для страничек... Ниндзя
38. Vinyl - 22 Марта, 2013 - 08:34:58 - перейти к сообщению
armancho7777777 пишет:
Всё придёт с опытом
Здравствуйте, armancho7777777. Я помню, тот же вопрос задавал здесь. Так ответы вроде Вашего жутко раздражали Радость Это я сейчас понимаю, что ответ-то верный, а тогда казалось, что ООП это тайна покрытая мраком и никто ею делиться не хочет)

igosja, у меня в арсенале два мною недописанных движка. Первый кагбэ готов, но там говнокода много, он не расширяем толком, + ещё тысяча и один недостаток. А второй просто не дописал, т.к. пропала нужда и свободное время. Когда-нибудь обязательно второй допишу.
Так вот, к чему я это. Первый я начинал писАть в далекие времена, когда Е.Попов был для меня кем-то на уровне Бьёрна Страуструпа. Но главное, как я его начал писать...

Создал файл index.php в корне, в нем написал <?php и начал по мере поступления идей в мозг, их реализовывать. В итоге получил черт-ногу-сломит архитектуру с хрен-че-найди реализацией. Оно-то работает, но когда нужно что-то изменить/доделать/переделать - капец.

А ко второму я подошел серьезнее. Сначала я начал продумывать архитектуру приложения. Я нарисовал на бумаге, что и как у меня будет работать. Схема не из сложных: несколько блоков, соединенных линиями, каждый из которых за что-то отвечает. Один - за пользователей (авторизацию|регистрацию|бан и т.д.), другой - за текущую страницу, третий - за работу модулей, четвертый - за базу данных, и т.д.. Так вот когда есть такой "план", а он должен быть, если Вы собираетесь разрабатывать что-либо более-менее серьезное, то в данном случае как минимум удобно для каждого блока нашей схемы написать класс.

Представьте себе, что Ваш сайт это предприятие. Классы - это работники. И цех - один php-файл, допустим, init.php. В нем работают объекты классов, проходит весь "процесс" работы на более высоком уровне, а все глубинные процессы описаны в самих классах. Это очень удобно. Важно понимать, что класс это не набор функций и переменных, а будущая сущность, которая что-то умеет и обладает какими-то свойствами. Опять же, преимущества становятся очевидными, когда поработаешь над чем-то более-менее крупным. А если ещё и в команде, то сразу видно разницу.

Спойлер (Отобразить)



Сейчас прочитал слова, которые хорошо описывают преимущества ООП

habrahabr пишет:
Вкусив запретного плода расширенного синтаксиса, программисты не остановились и возжелали модульности: ведь это так удобно — вызывать отдельно написанный модуль программы и не вникать в его алгоритм. Главное — это знать как он принимает на вход данные и как возвращает результат.
39. armancho7777777 - 22 Марта, 2013 - 11:12:59 - перейти к сообщению
Здравствуйте, Vinyl!
Тяжело когда только начинаешь, по себе знаю.
Я по началу толком даже не мог понять назначение всяких там переменных и с чем это всё едят ))
Иногда читаю (и "ржу" Радость ) свои первые посты: просто жуть Не понял
А про JS я вообще молчу Радость
40. Vinyl - 22 Марта, 2013 - 11:17:30 - перейти к сообщению
armancho7777777 пишет:
Я по началу толком даже не мог понять назначение всяких там переменных и с чем это всё едят ))
Да все ж так же)

armancho7777777 пишет:
А про JS я вообще молчу
А я с js так и не дружу (алерты умею выводить Радость ). Видимо, не для меня клиентская разработка)
41. armancho7777777 - 22 Марта, 2013 - 11:22:23 - перейти к сообщению
Да, отошли мы от темы...
42. LIME - 22 Марта, 2013 - 11:23:27 - перейти к сообщению
а может вам в ЛС ?
armancho7777777 удали этот пост
43. caballero - 22 Марта, 2013 - 11:36:29 - перейти к сообщению
Цитата:
А я с js так и не дружу (алерты умею выводить ). Видимо, не для меня клиентская разработка)

вот для этого и прдумали жуйквери Улыбка
44. armancho7777777 - 22 Марта, 2013 - 11:46:36 - перейти к сообщению
.
45. esterio - 22 Марта, 2013 - 11:51:38 - перейти к сообщению
caballero пишет:
вот для этого и прдумали жуйквери

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

 

Powered by ExBB FM 1.0 RC1