Заблокирован
|
||||||
1 | ||||||
Что я тут получаю?24.02.2020, 15:16. Показов 327. Ответов 15
Добавлено через 20 минут То есть нужно ли дополнительно объявить для класса User свойства, соответствующие столбцам в БД, чтобы обращаться к ним, работать с ними ВНУТРИ КЛАССА User (не Main)?
0
|
24.02.2020, 15:16 | |
Ответы с готовыми решениями:
15
Empty(var) получаю не то что хочу Что значит это условие? Немогу расчехлить на что тут идёт проверка!!! Можете на псевдокоде объяснить, что тут за что отвечает? Что тут нужно поменять что бы код работал? |
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||
24.02.2020, 20:55 | 2 | |||||
если вопрос для вас еще актуален, то что это у вас такое можно узнать с помощью простой отладки
0
|
Заблокирован
|
|
24.02.2020, 21:39 [ТС] | 3 |
Как мне тогда с ними работать ВНУТРИ КЛАССА User (не Main)?
Я ведь сделал автозаполнение, правильно? У меня в $this->user содержится класс User со свойствами, следовательно я могу ВНУТРИ класса User создать какой-то метод, где использую $this->id, хотя свойство не объявлено - оно ведь заполнится автоматически?
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||||||||
24.02.2020, 22:11 | 4 | ||||||||||
внутри класса user вы c ними сможете работать, если только заранее все их объявите как private, то есть для каждого поля таблицы users в классе user вы объявляете соответствующее поле private $field; после запроса они заполняются соответствующими данными. вы реализуете интерфейс работы с ними в классе user (там через геттеры / сеттеры, например) только зачем вам это надо? в вышеприведенном примере вы можете так обратиться к данным класса user внутри класса main:
Добавлено через 7 минут если же не объявлять их private, то можно прямо к ним обращаться
0
|
Заблокирован
|
|
24.02.2020, 22:17 [ТС] | 5 |
ну-ну
чтобы заполнить свойства запросом из БД и использовать свойства ВНУТРИ класса, в котором выполнено автозаполнение
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
24.02.2020, 22:34 | 6 |
то есть вы считаете, что внутри класса вы можете использовать только private свойства?
0
|
Заблокирован
|
|
24.02.2020, 22:43 [ТС] | 7 |
я ничего не считаю, я вопрос задал: нужно ли объявлять свойства для класса, в котором происходит автозаполнение свойств, если ВНУТРИ этого класса есть методы, использующие эти свойства
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
24.02.2020, 22:49 | 8 |
возможно, скоро появится новая тема: "Почему неправильно работает класс User"
0
|
Заблокирован
|
||||||
25.02.2020, 01:52 [ТС] | 9 | |||||
vinikon, возможно появится, если Вы неправильно ответите на этот вопрос
Добавлено через 5 минут vinikon, я Вам разложу по полочкам
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||||||||||||
25.02.2020, 11:47 | 10 | |||||||||||||||
уважаемый, вы бы себе сначала разложили по полочкам. смотрите, что вы делаете. класс user наследует от model, класс main наследует от model. какой смысл создавать класс main для работы с классом user, если они совершенно равноценные наследники? иными словами все методы, какие там планировались для класса main можно спокойно добавить в user, и не городить огород из непонятных наследников. использование метода getUser c возвратом значения за пределы класса нарушает основной принцип ооп-инкапсуляцию свойств и методов объекта. в-общем класс user я бы сбацал как это все обычно делают:
класс main с этой точки зрения совершенно не нужен Добавлено через 7 минут нет, с возвратом результата выборки из бд в виде класса бредовая идея. лучше сделать так
0
|
Заблокирован
|
|
25.02.2020, 11:52 [ТС] | 11 |
vinikon,
return метода в конструкторе (который ещё и зацикливание вызовет скорее всего) - чушь полная, конструктор ничего не возвращает - VOID метод с запросом без возврата объекта (а чё, для получения объекта с данными ведь достаточно вернуть булев) для полной картины добавим немного магии __get() это прям великолепно в классе Main вообще-то нужно создать экземпляр класса User, автоматически заполнить запросом там свойства, вопрос: доступны ли эти автоматически заполненные свойства для методов класса User?
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
25.02.2020, 12:02 | 12 |
да, а о чем вы спрашивали
то сами рассудите: сейчас у вас такая конфигурация аккаунта, вдруг понадобится добавить еще одно свойство пользователя - и придется заново редактировать скрипты с полями в user. это неправильно. тут надо по другому сделать. обычно создается конфигурационный файл в виде массива с названиями полей и правилами их валидации. во время создания объекта он загружается и используется для работы с соответствующей таблицей бд. если надо добавить поле - добавляется в файл конфига ключ=названию поля, указывающий на правила валидации этого поля. а скрипты не меняются
Добавлено через 2 минуты вот проверьте и узнаете. я в принципе отвечал не сколько для вас, а для тех, кто еще заглянет в эту тему - может кому-то пригодится
0
|
Заблокирован
|
|
25.02.2020, 12:06 [ТС] | 13 |
vinikon, Вы вопрос вообще не поняли
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
25.02.2020, 12:08 | 14 |
переведите
0
|
Заблокирован
|
|
25.02.2020, 12:10 [ТС] | 15 |
а Вы зачем тут отсвечиваете, чтобы return из конструктора делать
млять ну не знаешь, так не лезь в тему
0
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
25.02.2020, 12:13 | 16 |
спасибо за перевод, мешать не буду
0
|
25.02.2020, 12:13 | |
25.02.2020, 12:13 | |
Помогаю со студенческими работами здесь
16
Что тут метод, а что конструктор? ADO и Oracle, получаю в ответ, что у меня устаревшее OLE DB Что- то тут не то Что делать? Ставлю на ссд винду и тут вот это, я думаю что ссд полетел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |