Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.04.2011, 22:48
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от monolithed
если не ошибаюсь, то указатели в PHP имеют статут depricated и не войдут в PHP6 (если когда-то выйдет)
пруф или не было.
может еще заодно отказаться от eval?
Сообщение от Kasperskiy
В чём прикол такого использования. Даёт возможность значение использовать в качестве названия переменной, в этом основной прикол?
ну, да.
хотя на практике такое использование редко, но иногда оно удобно
Ответить с цитированием
  #12 (permalink)  
Старый 26.04.2011, 00:41
Интересующийся
Отправить личное сообщение для Kasperskiy Посмотреть профиль Найти все сообщения от Kasperskiy
 
Регистрация: 25.04.2011
Сообщений: 13

Скажите, а в пхп такие же указатели как в С++ есть?
Ну например типа такого вывода.
Код:
#include <iostream>
#include <iomanip>
using namespace std;



int main(){
int a=100;  // переменная занимает 4 байта
int *p = &a;  // указатель, занимает 4 байта, хранит указатель на ячейку, где находится переменная a
int &r = a;  // ссылка, любое обращение к ней просто обращается к ячейке переменной a
cout<<p<<setw(5)<<r;
cin.get();
}
Результат:
Код:
0012FF60  100
Может сослаться на адрес этой переменной в оперативной памяти?
Вот это как в моём случаи 0012FF60 ?
Ответить с цитированием
  #13 (permalink)  
Старый 26.04.2011, 01:01
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

нет, в PHP нету указателей.
зато есть ссылки, и для него вполне хватает
Ответить с цитированием
  #14 (permalink)  
Старый 26.04.2011, 01:43
Интересующийся
Отправить личное сообщение для Kasperskiy Посмотреть профиль Найти все сообщения от Kasperskiy
 
Регистрация: 25.04.2011
Сообщений: 13

Смотрите, в этом коде:

class Proba{
var $name;
function d(){
$e = 'Привет мир!';
echo 'Результат = '.$this->name = 8; //УКАЗАТЕЛЬ this
}                                         //УКазатель но не ссылка ведь же
                                          //Значит есть указатели в ПХП?
}


$object = new Proba;
$object->d();


Теперь глянул вот сюда: http://php.su/learnphp/phpoo/?classes
Прочитал такое:
Код:
Чтобы получить доступ к членам класса внутри класса, необходимо использовать указатель $this,
Ответить с цитированием
  #15 (permalink)  
Старый 26.04.2011, 02:21
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kasperskiy
УКазатель но не ссылка ведь же
это ссылка, а не указатель.
Сообщение от Kasperskiy
Теперь глянул вот сюда: http://php.su/learnphp/phpoo/?classes
Прочитал такое:
на заборе также написано много чего.
читайте официальную документацию на офсайте PHP
например раздел посвященный ссылкам, да)
http://www.php.net/manual/en/language.references.php
а также кусок, где упоминается про $this в данном контексте
http://www.php.net/manual/en/languag...ences.spot.php
Ответить с цитированием
  #16 (permalink)  
Старый 26.04.2011, 09:52
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Gvozd
пруф или не было.
я имел ввиду указатели типа:

$foo = 1;
$bar =& $foo;
unset($foo);


Д.Гутманс писал о том, что указатели - анархизм и использование их не желательно...

Последний раз редактировалось monolithed, 26.04.2011 в 09:54.
Ответить с цитированием
  #17 (permalink)  
Старый 26.04.2011, 10:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от monolithed
я имел ввиду указатели типа:
Это ссылки. Нет в PHP указателей.
Ответить с цитированием
  #18 (permalink)  
Старый 26.04.2011, 10:20
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

во всей литературе что читал по рнр-авторы называли это указателем.хотя какие авторы такое и название)
Ответить с цитированием
  #19 (permalink)  
Старый 26.04.2011, 10:22
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ссылка ссылается на значение, указатель указывает на область в памяти. PHP не работает с памятью, там не может быть указателей.
Ответить с цитированием
  #20 (permalink)  
Старый 26.04.2011, 11:44
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от monolithed
Д.Гутманс писал о том, что указатели - анархизм и использование их не желательно...
поведем речь все-таки об ссылках(код вы показываете про них, а указателей в пыхе все равно нету):
не согласен.
огромное количество встроенных функций базируется на передаче параметров по ссылке.
и это реально полезная вещь
хотя я что-то читал нехорошее про ссылки, что это противоречит парадигме(функция не должны изменять состояние контекста исполнения, и возвращать результат только через return). в качестве замены параметров по ссылке предлагалось использовать объекты, или же возвращать структуры. но как по мне, это излишняя борьба за чистоту кода.

в PHP же depricated являются подобные конструкции:
$a = & new A();

наврено потому что смысла в ссылке тут ноль для современного PHP
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструкторы пхп Golovastik Серверные языки и технологии 10 23.11.2010 07:52
Таймер вызывающий пхп функцию или как минимум посылающий какой-то параметр syegorius Общие вопросы Javascript 1 08.09.2010 17:12
Отправка данных к пхп Andrei Серверные языки и технологии 1 13.12.2009 11:35
джава и пхп zerg Общие вопросы Javascript 4 22.02.2009 18:57