![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| nns2009 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Вопрос №1
При программировании на PHP возникла проблема: как не запутаться в именах переменных. Некоторое время я думал, почему такой проблемы не возникло в остальных языках программирования и пришёл к выводу, что это из-за того, что в PHP данные приходят из разных источников(куки, запрос, БД). И возникла идея начинать имя любой переменной с буквы, обозначающей, откуда эта переменная пришла: r - переменная пришла из $_REQUEST c - $_COOKIE f - от facebook'а db - MySQL d - какое-то значение по умолчанию p - параметр в функции Хорошо ли это? Если нет, то какие альтернативы? Вопрос №2 Нормально ли, ради того чтобы не запутаться, куски кода, выполняющиеся в программе только один раз выносить в отдельный класс? (код из Вопроса №3) Вопрос №3 Чтобы вдруг не опечататься, можно некоторые строки выносить в отдельные переменные - если что, получим ошибку сразу(такой переменной не существует), а не будем долго её искать, но не переусердствовал ли я:
|
|||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: 6 Всего: 15 |
Вопрос №1
неужели это самый глобальный вопрос который вас посетил при программировании на php? Вопрос №2 вы не спрашивали у любителей ассемблера, как они программируют не путаясь? |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Попробуйте каждый источник данных описать классом.
Никогда не задумывался над этим Добавлено @ 22:33 Глобальные переменные - зло. Попробуйте использовать паттерн Registry Добавлено @ 22:34
Че за ху*ня??? Попробуйте использовать конструктор, и передавать все эти глобальные переменные в конструктор. Сочувствую тому, кто будет это поддерживать! Это сообщение отредактировал(а) SneG0K - 16.3.2011, 22:36 |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
nns2009, Имена выходят не читабельные
Я не люблю черточки но в твоем случае может стоит подумать над $p_ $c_ и тп. может читабельный будет Это сообщение отредактировал(а) Muerto - 17.3.2011, 01:46 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
сама идея использовать глобальные переменные ужасна. в этом случае вообще не понятно зачем локализовать какой-то код в классе или функции
Добавлено через 1 минуту и 51 секунду
есть такая отличная мысль: если что-то делаешь, то понимать зачем. вы можете для себя обосновать необходимость использования класса? если нет, то зачем он вам? |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
nns2009, я решил глянуть что у тя там за глобальные переменные...
Ты там понапихал что попало... стоит почистить... а то оч плохо смотрится и воспринимается... Сделай оберточный класс ака Wrapper для базы данных , или скачай... Много лишнего кода, отсутствие логики , к примеру твой User не имеет других методов кроме конструктора но зачем то задаются поля Это сообщение отредактировал(а) Muerto - 17.3.2011, 01:50 |
|||
|
||||
| nns2009 |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Попробую. Я понимаю, но тогда как вы предлагаете определять поля в таблице и имя самой таблицы? Хорошо ли определять их как-то так:
Если нет, то как вы посоветуете?
Да - чтобы не запутаться.
Это пока, а User как раз для того и нужен, чтобы заполнить эти поля. |
||||||
|
|||||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а как связаны последний вариант и первичный? в первом случае вы вставляете глобальные переменные, подразумевая, что данные в эти переменные будут приходить из вне. в последнем случае константы, то есть вы жёстко фиксируете их с самого начала. это совсем разные вещи если эти данные не меняются, то можно их записать в теле класса. если меняются, то надо обеспечить их ввод, что легко делается через конструктор
и так далее. в результате мы можем при создании объекта из этого класса всегда поменять входные данные |
|||
|
||||
| nns2009 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
А что насчёт глобальных констант?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а что с ними не так?
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Что вы хотите?
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |