Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   $$ доллар в ПХП (https://javascript.ru/forum/server/16854-%24%24-dollar-v-pkhp.html)

Gvozd 25.04.2011 22:48

Цитата:

Сообщение от monolithed
если не ошибаюсь, то указатели в PHP имеют статут depricated и не войдут в PHP6 (если когда-то выйдет)

пруф или не было.
может еще заодно отказаться от eval?
Цитата:

Сообщение от Kasperskiy
В чём прикол такого использования. Даёт возможность значение использовать в качестве названия переменной, в этом основной прикол?

ну, да.
хотя на практике такое использование редко, но иногда оно удобно

Kasperskiy 26.04.2011 00:41

Скажите, а в пхп такие же указатели как в С++ есть?
Ну например типа такого вывода.
Код:

#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 ?

Gvozd 26.04.2011 01:01

нет, в PHP нету указателей.
зато есть ссылки, и для него вполне хватает

Kasperskiy 26.04.2011 01:43

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

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


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


Теперь глянул вот сюда: http://php.su/learnphp/phpoo/?classes
Прочитал такое:
Код:

Чтобы получить доступ к членам класса внутри класса, необходимо использовать указатель $this,

Gvozd 26.04.2011 02:21

Цитата:

Сообщение от 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

monolithed 26.04.2011 09:52

Цитата:

Сообщение от Gvozd
пруф или не было.

я имел ввиду указатели типа:

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


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

Kolyaj 26.04.2011 10:02

Цитата:

Сообщение от monolithed
я имел ввиду указатели типа:

Это ссылки. Нет в PHP указателей.

dmitriymar 26.04.2011 10:20

во всей литературе что читал по рнр-авторы называли это указателем.хотя какие авторы такое и название)

Kolyaj 26.04.2011 10:22

Ссылка ссылается на значение, указатель указывает на область в памяти. PHP не работает с памятью, там не может быть указателей.

Gvozd 26.04.2011 11:44

Цитата:

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

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

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

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


Часовой пояс GMT +3, время: 13:01.