>>2127927В программировании часто встречается такое, что есть какие-то "сущности", у которых есть свойства и с которыми можно делать какие-то действия. Например, в магазине есть сущность "товар", у нее свойства: цена, вес, скидка, наличие. И есть действия: поменять цену, добавить скидку, снять с продажи, выставить в продажу, посчитать прибыльность. Для удобной работы с такими сущностями и придуманы объекты. Ты сначала создаешь класс, описывая, какие есть у сущности свойства (поля) и действия (методы). А потом создаешь объекты этого класса. Например, если ты хочешь добавить в магазине новый товар, ты создаешь объект класса Товар. Затем вызываешь у него методы задатьНазвание, задатьЦену, и заполняешь все его свойства. Затем ты обращаешься к объекту СохранятельТоваров и с его помощью сохраняешь товар в базу данных. А когда тебе надо вывести информацию о товаре, ты с помощью СохранятеляТоваров загружаешь объект товара из БД, и вызывая его методы вроде узнатьЦену, узнатьНазвание выводишь информацию о нем на странице.Но классы годятся не только для представления сущностей. Можно создавать объекты, у которых нет каких-то особых свойства, а есть только действия. Например: РегистраторПользователей. У него нет свойств, а есть только метод "создать нового пользователя".Думаю, ты уже видишь, как ООП можно использовать для регистрации пользователей. Мы можем создать такие классы: - Пользователь (User) со свойствами: email, хеш пароля, дата регистрации, имя итд. И методами: задать Email, узнать Email, задать пароль, проверить пароль итд.- СохранятельПользователей (UserTableGateway) - это класс, который умеет сохранять объекты пользователя в БД или извлекать из нее. У него будут методы вроде вставитьПользователяВБазу, обновитьПользователяВБазе, найтиПользователяПоEmail.- ВалидаторПользователя (UserValidator) - это класс, который получает данные из формы регистрации пользователя и проверяет их на правильность: что все поля заполнены, что email похож на настоящий email итд.Заметь, что мы не пихаем все в один класс, а для каждой задачи используем отдельный класс. У каждого класса своя зона ответственности.В принципе, это достаточный минимум, но можно при желании добавить еще другие классы. Например, класс ДанныеФормыРегистрации, объект которого хранит данные, которые введены в форму. В некоторых фреймворках Форма и ПолеФормы тоже сделаны в виде объектов (то есть, форма регистрации это объект и каждое поле в ней тоже объект).Если ты плохо знаешь ООП, я советую тебе начать с учебника из шапки, в нем есть глава про ООП, а в ней задача про ООО Вектор. Ее надо решить, чтобы освоиться с ООП. Далее я тебе советую посмотреть задачу про студентов из шапки. К ней есть подробные комментарии, и она научит тебя, как использовать ООП для работы с формами регистрации, базой данных: https://github.com/codedokode/pasta/blob/master/student-list.mdЕсли тебе лень делать задачу, и ты все схватываешь на лету, то может быть тебе достаточно будет прочесть комментарии к задаче. И пользуясь ими, ты можешь попробовать сделать ООП-регистрацию самостоятельно. Можешь выложить код на гитхаб, я как-нибудь гляну и дам замечания.
>>2132017>>2132017>Пользователь (User) со свойствами: email, хеш пароля, дата регистрации, имя итд. И методами: задать Email, узнать Email, задать пароль, проверить пароль итд.- СохранятельПользователей (UserTableGateway) - это класс, который умеет сохранять объекты пользователя в БД или извлекать из нее. У него будут методы вроде вставитьПользователяВБазу, обновитьПользователяВБазе, найтиПользователяПоEmail.Я так понимаю класс Save это отдельный файл и тут нужны будут намспейсы и use ?
>>2132168Почитай рекомендации оформления кода PSR-1 и PSR-12 (PSR-1 есть на русском языке). В них записано, что каждый класс помещается в отдельный файл, и кроме класса в этом файле не должно быть ничего постороннего. Имя файла должно соответствовать имени класса с точностью до регистра букв.Почитай рекомендации и следуй им.Что касается неймспейсов - выбор за тобой. Если у тебя весь проект состоит из 5 файлов, ты можешь просто сложить их в одну папку и не использовать неймспейсы. Если проект больше, то стоит добавлять подпапки и неймспейсы.
>>2131978>>2131989>>2132017>>2132239>>2132243Анончик, я хоть и мимо проходил, но хочу сказать тебе спасибо за такие развёрнутые ответы, они очень контрастируют с ответами-смехуёчками других ананасов. Множество тебе чаёв!