![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| taral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
Я думаю что вопрос не сложный.
В принципе я и сам мог бы прочитать это в книге. Но я решил спросить у вас, прежде чем рытся в литературе. Есть обьект. В нем, function_1 генерирует значение одной переменной. Как передать это значение к function_2 этого обьекта. Но есть пару условий. Это значение не должно быть доступно из вне. И еще. Нужна работа такого плана. Я вызвал function_1 этого обьекта. Потом я делаю другую работу. Потом вызываю function_2 (никаких в нее параметров не передаю) И она выводит результат на основе данных что сгенерировала function_1. У меня есть идея реализовать это с помощью жесткой ссылки. Что думаете? |
|||
|
||||
| solenko |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Очень правильная мысль.
Если расскажите что такое "жесткая ссылка" в PHP, то обязательно выскажу свое мнение. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
| taral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
задается через & Например $a=&$b; теперь когда мы изменяем $a изменяется $b и наоборот. Есть еще символическая ссылка. это просто $a=$b; |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Странно... Я всегда думал, что в php есть только просто ссылки... Вы не могли бы привести цитату из мануала, в котором вы прочли о том что бывают жесткие ссылки и что $a = $b в случае работы с простыми типами данных не присваивание значения, а символичесая ссылка?
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| mishaSL |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
Лучше почитать сначало литературу, ответ на поставленный вопрос не заменит прочтение теоретической части. Вот пример:
-------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
||||
|
|||||
| FractalizeR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
Чую изврат какой-то
Приватное или защищенное поле класса чем не устраивает? Зачем городить "жесткие" и "мягкие" ссылки? Кстати, $a=$b никакой ссылкой не является. Ни жесткой, ни мягкой, ни символической. Разве что если $a и $b будут объектами. А вообще, если вы расскажете по-подробнее зачем вам понадобилось такое решение, будет легче советовать. Вы описали абстрактную задачу, которую пытаетесь решить очень странным способом. Такие способы нормальные люди не используют. -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
|||
|
||||
| taral |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
PHP 5 в подлиннике (Дмитрий Котеров) 220 страница. Этой книге точно стоит доверять) Добавлено через 5 минут и 41 секунду
Да вы правы. Тут я ошибся Полность все задачу обьяснять будет очень долго. Потому я приведу подобный случай. В function_1 генерируется случайная комната (ширина, длинна, высота) В вызвав function_2 я получаю обьем этой комнаты. |
||||
|
|||||
| FractalizeR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
Я не знаю, откуда Дмитрий взял эти термины, но в официальном мануале их нет. Я не стал бы использовать такие формулировки на форумах. Вас могут не понять. -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
|||
|
||||
| taral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
И еще.
mishaSL большое спасибо что откликнулись. Добавлено через 1 минуту и 47 секунд
Хорошо не буду. Просто я много где встречал этот термин. Добавлено через 2 минуты и 31 секунду Только как мне называть тогда "Жесткую ссылку"? |
|||
|
||||
| FractalizeR |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
Я понял вас. Но почему бы не сделать так (используя классы как записи):
Это сообщение отредактировал(а) FractalizeR - 20.2.2008, 21:10 -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
||||
|
|||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Чот-то я сильно сомневаюсь что стоит. Глянул -- действительно автор называет символическими ссылками то, что в мануале называется "Variable variables". -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| FractalizeR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
Конечно, я не являюсь авторитетом в данном вопросе, но их лучше называть просто ссылками (references), как их называет мануал PHP. В этом случае можно считать, что: $a = &$b - ссылка на переменную $b $a = $b - просто присваивание. Ссылок нет. $obj1 = $obj2 - $obj1 и $obj2 указывают на один и тот же объект (являются ссылками на него) $a = "hello"; $$a = "world"; - мануал PHP такие случаи называет "variable variables" На русский этот термин здесьпереведен как "переменные имена переменных. -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
FractalizeR, как-то не в ООП стиле. Уж скорее:
Что в точности дублирует первый пост mishaSL. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| FractalizeR |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
А еще лучше преобразовать вот это
в нормальный ООП стиль:
Добавлено через 54 секунды solenko, Сорри, пока писал, мысль скользнула в сторону -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
||||
|
|||||
| taral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
Можно. Хорошо я раскрою все свои карты) Я хочу сделать обьект защиты от роботов Цель такая: Пользователю выводится вопрос (типа такого: Выберите картинку с слоном) Ниже выводится одна картинка (которая создается из 9-ти случайных картинок) Теперь про обьект. function question(){ выводит вопрос к картинке } function create(){ выбирает из базы данных 9 картинок и вопрос к одной из них } function show(){ склеивает картинки имена которых сгенерировала функция create показывает картинку } function check($x, $y){ проверяет правильную ли картинку выбрал юзер если правильную возвращает тру } в $x, $y задаются координаты точки в которую нажал пользователь Это сообщение отредактировал(а) taral - 20.2.2008, 21:24 |
|||
|
||||
![]()
|
| Правила форума "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. |