С Чего лучше начать изучение правильного ООП, точнее MVC?

Статус
В этой теме нельзя размещать новые ответы.

GCoda

Новичок
С Чего лучше начать изучение правильного ООП, точнее MVC?

добрый день
я на пхп сидел много лет назад , делал сайты, и что удивительно мне даже платили деньги, ну знаете, много файлов, куча функций, а если и классы то непонятно зачем, классы в которых много функций, чтото типа дополнительно структуризации и так для понтов.
Но вот уже какое то количество времени я не делал ничего серьезного. И сам осознаю что не понимаю как правильно писать, и вот появилась цель , задача простого сайта, все банально, но хочется красиво, и вот сегодня зарегистрировался на этом форуме (хотя был уверен что я здесь был и раньше, видимо удалили)и спрашиваю Вас, что лучше для изучению современных тенденций програмирования, с нуля писать простую MVC модель, или использовать примеры какихто фреймворков. Самая моя большая проблема это то что я вообще не понимаю нафига это ООП надо, ну так только догадки, как правильно структурировать код чтоб запутатся было сложнее чем в простом наборе функций, а в фреймворках кода уже мнго и сразу, и не понятно куда писать свой код ).
очень надеюсь на помощь
 

Beavis

Banned
GCoda
А с чего ты решил что тебе нужно ООП если ты даже понимаешь нафига оно?
 

damngood

Мозг был, но ушел...
Меня удивляет то, что человек решает осваивать паттерн MVC, вместо того, чтобы вникнуть в концепцию ООП для начала.

Вообще я бы посоветовал сначала понять все основные плюшки, что дает ООП, а потом уже попробовать написать свою MVC-ориентированную софтину, пусть кривую, но свою. Естественно, сначала разобравшись как она должна работать, в чем суть MVC, и что уже сделано на этом поприще до тебя.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
xVansX
не надо кросспостить, кому надо - отпишутся в твоей теме.
 

Sokil.Dmytro

Новичок
Сейчас большинство фреймворков имеют в своем составе MVC - лучше разберитесь в них, заодно и понимание ООПа придет
 

Духовность™

Продвинутый новичок
1. Сначала тупо почитай примитивные интернетовские статьи об ООП для новичков - они, на самом деле, могут многое рассказать Точнее, направить твое мышление на верный путь. Тебе лишь надо уловить фитчу ООП - понять, что мир, в котором ты живешь, это идеальная объектно-ориентированная модель. И программы писать надо так же - оперируя объектами, а не смешанными в хаос переменными и функциями.

2. Изучи все возможности ООП в PHP, т.е. идеально освой синтаксис, поиграйся с примерами, изучи все "зарезервированные слова" относящиеся к ООП. Для этого достаточно почитать книги по PHP или сам php.net. Что бы ты знал, как в PHP объявить интерфейс абстрактный класс, как наследование сделать, какие возможности PHP вообще предоставляет для ООП.

3. Купи/скачай хорошую книгу и читай. Гради Буча, например, книгу. Других апологетов ООП.

4. Пиши программы на ООП и проси критики. Спрашивай и интересуйся. За полгода реально можно сделать быстрый старт.

Самая моя большая проблема это то что я вообще не понимаю нафига это ООП над
Ты не должен понимать зачем нужно ООП - ведь ты на нем не пишешь. Это абсолютно нормально. Когда ты на нем начнешь писать, то с каждой новой реализованной ОО-программой, если она правильно будет сделана (а это можно только осознать), твое понимание будет усиливаться как снежный ком, поверь.

с нуля писать простую MVC модель
Это на самом деле, сложно. Не думай сейчас об MVC, MVC к ООП имеет такое же отношение, как автомобиль к автозаводу.
 

xVansX

Новичок
прошу не закрывать тему я вроде бы понял для чего ООП
сделал класс для работы с изображениями
работает resize, crop, save, display
 

Вложения

craz

Нестандартное звание
коряво как то...

хоть я и сплю уже наполовину... и поэтому сначала посмотрев просто было ощущение что "коряво", но потом посидел потупил секунд 8 с половиной и понял... коряво потому что это процедуршина обернутая в клас - это не ООП
 

HraKK

Мудак
Команда форума
MVC кстати имеет очень отдаленное отношение к ООП. Являсь мелкой и незначительной частью.
 

HraKK

Мудак
Команда форума
ну мне суть ООП стала после прочтения вводной.
а где доказательства?)
А вообще плачу 2000$ за книгу в которой после прочтения вводной, человек начинает сразу писать на ООП.
 

HraKK

Мудак
Команда форума
ООП оно же требует каких то мега знаний языка, оно требует именно понимания что это и зачем. А этого не хватает(
 

Sokil.Dmytro

Новичок
xVansX, несколько ремарок:

1. Для работы с типами катринки возвращаемой getimagesize есть список констант IMAGETYPE_PNG,IMAGETYPE_JPEG и так далее - однозначно улучшает читабельность

2. В сеттерах и других методах, которые могут быть обьединены в цепочку лучше писать return $this, тогда можно будет писать
PHP:
$image = new Image('someimage.jpg');
$image->setFormat(IMAGETYPE_JPEG)->crop(200, 100)->grayscale()->invert()->rename('newfilename')->save('/some/folder')
3. Если я передам вашему классу текстовый или несуществующий файл, он начнет вести себя непредсказуемо - пользуйтесь исключениями.

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

xVansX

Новичок
просто я когда писал этот класс я не знал что такоe Public Private Protected
сейчас уже исправил до set & get еще не дошел
подхожу к обработке исключений
а потом уже к гет сет методам книжка трудно дается
а не подскажете книжка "Профессиональное программирование 2 издание" по легче будет или нет?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху