| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Классы и переменные из внешних файлов |
| Автор: ArNic 29.9.2008, 02:08 | ||||||
| Дано: Есть файл jason.php с содержанием
Нужно: Чтобы переменная из файла pars.php - перекочевала в jason.php и чтобы при выполнении кода
отображалось:
Пояснения: Обращаюсь именно к профи, т.к. сидел за мануалами несколько суток, разобраться не смог. А значит сдался! Ситуация сложновата, т.к. нельзя по другому выполнять загрузку этих параметров, а только из pars.php |
| Автор: Sanchezzz 29.9.2008, 05:50 | ||
| переменная Prefix выводятся принтом в конструкторе? попробуй так
|
| Автор: ArNic 29.9.2008, 10:22 | ||||
| Не получается - попробовал как ты мне сказал: 1) Print - в конструкторе вывел значение переменной 2) объявление глобальности для $Prefix - не дало результатов
Выходит вот что
Из этого делаю вывод - переменная импортируется в класс, но вот что плохо, только на момент выполнения конструктора, после конструктора переменная удаляется. Жду предложений. |
| Автор: krundetz 29.9.2008, 12:13 |
| Ну во первых начнем с того что то как вы делаете концептуально не верно, если вы используете классы. Во вторых что вам мешает в классе сделать дополнительную переменную которая и будет подставляться в запрос. А переменную назначать через соответствующей метод дибо через конструктор. Если же необхдим доступ к этой переменной так как вы хотите то сделайте ее статичесмкой переменной класса. Либо используйте класс синглитон. |
| Автор: teroni 29.9.2008, 12:13 |
| А чего нельзя просто константами сделать Ваши переменные? Они доступны из любой области видимости. |
| Автор: ArNic 29.9.2008, 12:27 |
| Сейчас попробую |
| Автор: krundetz 29.9.2008, 13:27 | ||
Конечно же можно. Но тогда можно и без классов обойтись. Если уж используются классы то следует использовать концепцию ООП. А в ней константа это статический член класса. О чем собственно я выше и говорил. |
| Автор: sTa1kEr 30.9.2008, 12:58 | ||
Возможно вы все-таки имели ввиду константы класса, а не статические свойства? Т.к. это совершенно разные вещи, статическое свойство к константам не имеет никакого отношения, оно противоречит логике констант - глобальная видимость и неизменяемость. ArNic, у вас в классе очень много логических ошибок, начиная от отсутствия указателей $this и заканчивая отсутствием какого-либо смысла в самом классе. По этому советую либо тщательно пересмотреть их архитектуру, либо отказаться от них вовсе. И, конечно же, для неизменяемых элементарных значений нужно использовать константы. |
| Автор: ArNic 30.9.2008, 22:19 | ||||
Всем спасибо, если объявить
Благодарю за советы, я ими всеми воспользовался(а некоторыми еще воспользуюсь) (в нормальном смысле слова Да забыл сказать дале по коду все $Prefix - менял на $this->Prefix Добавлено @ 22:25 Сразу вопрос sTa1kEr, а применение переменных типа $Prermen внутри методов корректно? Или даже в этом случае нужно использовать $this->Peremen? |
| Автор: sTa1kEr 1.10.2008, 09:04 | ||
Использование локальных переменных внутри метода? Конечно-же корректно, если эти переменные были должным образом инициализированы, а не так: |
| Автор: ArNic 1.10.2008, 20:25 |
| ок, понял |