ООП является основой большинства языков программирования, поэтому вы захотите использовать его в основном все время, когда полностью его понимаете.
Веб-сайты немного сложнее, чтобы дать вам хорошие примеры, поэтому я постараюсь дать общую схему, а затем уделить больше внимания веб-теме.
Классы должны содержать данные, относящиеся к каждому из них, в здравом смысле. Например, автомобиль, очевидно, будет содержать Двигатель (другой класс), цвет, имя, владельца и т. Д. И внутри этого двигателя будет храниться собственный набор данных, относящихся к нему (максимальная скорость, миль на галлон, так далее.). Это основа для объединения ваших данных, затем идут классы внутри классов.
Теперь, когда Car хранит данные, относящиеся к автомобилю, Car также содержит функции, которые будет выполнять автомобиль, или функции, которые автомобиль будет использовать для взаимодействия с его данными. Getters (GetColour ()) позволяют внешним объектам получать информацию об этом конкретном автомобиле (так как Car1 и Car2 могут содержать разные цвета). Сеттеры, напротив, устанавливают данные объекта. Тогда у нас есть все остальное. Car.start (), который внутренне вызывает this.engine.start (), который может настраивать некоторые функции, чтобы начать слив газа из двигателя и позволить автомобилю двигаться.
Классы предназначены для того, чтобы их было легко читать, легко понять и легко использовать повторно. После того, как ваш класс автомобилей завершен, вы можете повторно использовать столько автомобилей, сколько вам нужно, и все они прекрасно автономны.
на веб
Во-первых, я настоятельно рекомендую вам взглянуть на архитектуру MVC, которая является основной частью веб-архитектуры и облегчает понимание ООП для веб-сайтов. По сути, ваш сайт разделен на контроллеры (отвечающие за взаимодействие с БД и возвращающие вам страницу), модели (данные вашей базы данных, например, пользователь) и ваши представления (HTML с небольшим количеством шаблонов, чтобы ваши контроллеры могли передавать ему динамические данные )
Например: вы заходите на сайт / posts / Stanley, ваш маршрутизатор (еще одна вещь MVC) решает, что это должно быть обработано PostsController (классом). Контроллер постов знает, что вам нужны все посты от пользователя Stanley, поэтому он просит модель постов (класс) получить все посты от Stanley, затем контроллер передает их в представление для заполнения шаблона, используя ваши посты, специфичные для Stanley.
Отойдя от MVC на секунду,
В приведенном примере вы, как я полагаю, будете использовать классы для манипулирования данными и доступа к БД. Например, если вы храните записи блога в базе данных, у вас может быть класс Blog с данными, которые соответствуют вашим строкам БД (id, user_id, title, body) и функциями для доступа к этим данным, чтобы вставить их в HTML-код, но также для получения их из база данных легко.
Например:
BlogPost :: All () может возвращать массив каждого сообщения блога, самого нового или самого старого.
BlogPost: By (user_id) может возвращать массив сообщений определенного пользователя.
BlogPost: Удалить (id) может удалить сообщение в блоге, учитывая его идентификатор.
BlogPost: RatingAtLeast (starRating), получить все сообщения в блоге, по крайней мере, с рейтингом starRating.
Вы поняли ... Этот класс будет существовать, как вы сказали выше, чтобы дать вам клиентский код для доступа к вашей базе данных, которая ОСОБЕННА для вашего варианта использования и поскольку BlogPost содержит переменные, связанные с вашим BlogPost. Поэтому BlogPost :: All () вернет массив BlogPost.