Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] глобальные переменные в php

Ответить
Настройки темы
[решено] глобальные переменные в php

Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


люди выскажите свои мнения насчет глобальных переменных в php. Имею в виду пользовательские. Есть две функции, надо из первой функции взять значение нескольких переменных из второй. Return не подходит, тк уже выдается другое значение. Как сделать это правильно. Пример

function a(){
n1=1;
n2=2;
}

function b(){

???(n1, n2)

}

Отправлено: 22:50, 17-04-2008

 

Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


я думал так можно обратиться только к статичным методам в php5, но нет, проверил и правда работает. Причем проверил, конструктор не вызывается, значит не создается объект!? Какой смысл тогда делать это с new? Чтото путанно все както

Отправлено: 02:13, 19-04-2008 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2521
Благодарности: 693

Профиль | Отправить PM | Цитировать


Цитата bruder:
Какой смысл тогда делать это с new? »
все это инструментарий программера, ему и решать, как удобнее и оптимальнее... конечно "::" - не ООП в полной мере, скорее удобная фича при наличии объемных классов (чтобы не объявлять класс ради одного метода например)...

Отправлено: 03:53, 19-04-2008 | #12


Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


а где можно подробно почитать о "::"? Почемуто очень мало про этот оператор написанно

Отправлено: 11:03, 19-04-2008 | #13


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


bruder,
Оператор "::" обозначает статичный метод. Смысл его в том, чтобы использовать некую функциональность без создания объекта данного класса. Изначально это было придумано изза следущей логики: есть методы объекта, которые касаются только определённого объекта, например getName() возвращает имя определённой инстанции. А есть также методы, которые для любого объекта данного класса одинаковы, то есть статичные методы, например есть класс Person и у него метод Person::createWoman(), который создаёт инстанцию Person с предустановленными женскими характеристиками.

Я в своём framework-е использую часто чисто статичные классы, то есть классы, которые содержат только статичные методы, то есть получается что-то типа библиотеки функций. Например, есть класс HtmlFormTools, который может создавать такие вещи как кнопки submit и reset, селекты с месяцами, датами, годами и временем, ну и тому подобные вещи

-------
Fortes fortuna adiuvat

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:46, 19-04-2008 | #14


Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


да, это понятно. А почему я могу вызвать таким способом любую функцию не объявленную как static (пока не рассмативаем private). Например:

class Myclass{
function a(){
echo "my a";
}
}

Myclass::a();

так пашет. Все функции по умолчанию статичны?

Отправлено: 13:22, 19-04-2008 | #15


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


bruder,
хм.... видимо да - что не есть хорошо. Никогда такое не замечал.

Я в любом случае статичные методы обозначаю как static, а обычные только в контексте объекта использую. Поэтому никогда не заечал, что и объектные методы могут вызываться как статичные - просто в этом случае будут естественно ошибки, если ещё использовать $this-> внутри таких функций

-------
Fortes fortuna adiuvat

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:19, 19-04-2008 | #16


Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


Цитата vadimiron:
в этом случае будут естественно ошибки, если ещё использовать $this-> внутри таких функций »
а.. тогда все понятно. Какой тогда тут нафиг namespace, никаких внутриклассовых переменных. Практически тоже самое что функция вне класса. Отлично, почерпнул для себя очень много интересного, можно даже мини FAQ составить для начинающих Спасибо всем

Отправлено: 17:53, 19-04-2008 | #17


Deadooshka


Сообщения: 2521
Благодарности: 693

Профиль | Отправить PM | Цитировать


Цитата bruder:
где можно подробно почитать о "::" »
http://www.google.com/search?hl=ru&r...yim&lr=lang_ru
Цитата vadimiron:
просто в этом случае будут естественно ошибки, если ещё использовать $this-> внутри таких функций »
PHP код: Выделить весь код

self::method();// вместо this

parent::method();// метод из родительского класса 

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:45, 19-04-2008 | #18



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] глобальные переменные в php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проблема с PHP(не передаются переменные из формы в PHP- скрипт) Kirander Вебмастеру 21 03-08-2009 01:11
[решено] Глобальные переменные (?) Frost_Imp AutoIt 8 29-07-2009 15:12
Разное - [PHP] Переменные CXREF Программирование и базы данных 2 16-06-2009 08:15
Переменные в PHP Guest Программирование и базы данных 6 11-09-2003 04:28
Переменные в PHP Guest Вебмастеру 1 10-01-2003 13:48




 
Переход