|
|
|
| объясните в каких случаях его нужно использовать?
ведь далеко не везде использование $this дает эффект..
например:
class login{
function auth()
{
foreach($_POST as $key => $val){$$key=$val;}
$sql = "select * from users where login='$name';";
$res = mysql_query($sql);
$data=mysql_fetch_array($res);
echo $data['pass'];
}
|
если использовать login=$this->name - ничего не дает хтя вроде как идет обращение к переменной и..
echo $this->data['pass']; - тоже не работатет | |
|
|
|
|
|
|
|
для: mindless
(19.02.2007 в 16:12)
| | переменные - члены класса полезно описывать...
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Trianon
(19.02.2007 в 16:29)
| | а еще полезно зубы на ночь чистить... блин
и не плохо бы получать ответы на вопросы ..
как можно научится чему небудь не практикуяся
в книгах не все написано... | |
|
|
|
|
|
|
|
для: mindless
(19.02.2007 в 17:00)
| | Ну так практикуйтесь. В некоторых книгах - все написано. Если хотите освоить ООП, то приобретите литературу именно про ООП. Даже если там другой язык описан. Например, по джава.
$this-> лучше использовать тогда, когда используются приватные члены класса. Кстати, тоже ненадо забывать, что класс это именно АТД, а не что-либо другое.
А зубки-то чистить и утром надо :) | |
|
|
|
|
|
|
|
для: t4f
(19.02.2007 в 17:11)
| | по поводу обращения к приватным членам класса - именно применительно к PHP с Вами не соглашусь. В PHP 4 версии нет таких понятий, как приватные/публичные члены класса. Все определенные свойства/функции класса являются публичными и обратиться к ним всегда можно записью $obj->var или $obj->func(...).
А зачем использовать $this-> я написал выше. | |
|
|
|
|
|
|
|
для: ZuArt
(19.02.2007 в 17:44)
| | Лично меня не интересует ООП в PHP 4 версии. И если изучать ООП, то нормальную модель. А то так и будут в пятой, шестой, седьмой и даже в восьмой версии писать как в четвертой. Пора уже на пятую версию перейти. Как я уже написал выше, $this-> используется для обращения к внутренним членам класса. | |
|
|
|
|
|
|
|
для: t4f
(19.02.2007 в 17:50)
| | а я еще раз повторю... $this-> используется для ОДНОЗНАЧНОГО трактования к какому именно объекту идет обращение внутри функции класса!!!
class CLASS
{
var $Var; // неважно ее видимость извне (public/private)
function CLASS()
{
$this->Var = 6;
}
function Func(...)
{
$Var = 5;
echo $Var; // будет напечатано 5
echo $this->Var; // выведет 6
}
}
|
| |
|
|
|
|
|
|
|
для: ZuArt
(19.02.2007 в 17:57)
| | $this-> используется для обращения к внутренним членам класса
Это выражение как раз подразумевает, что член класса принадлежит к данному классу. Или это не так? | |
|
|
|
|
|
|
|
для: t4f
(19.02.2007 в 18:07)
| | к данному объекту класса | |
|
|
|
|
|
|
|
для: isset
(19.02.2007 в 18:54)
| | ну да... разве это непонятно? | |
|
|
|
|
|
|
|
для: mindless
(19.02.2007 в 16:12)
| | Объясню вкратце. Т.к. в PHP 4 ООП на зачаточном уровне, то там реализован простейший функционал.
$this-> используется для обращения к свойствам и функциям КЛАССА, описанных в классе
class CLASS
{
var $Var;
function Func(...)
{
}
};
|
При обращении к переменной/функции БЕЗ $this-> в функции класса, обращение идет к переменной внутри функции или к ГЛОБАЛЬНОЙ переменной/функции, а не к переменной/функции класса.
Это самое первое что надо запомнить =), т.к. самое спотыкучее место... Вроде обращаешься к переменной класса, но без $this-> обращение идет к пустой (или определенной внутри функции) переменной и полученное из нее значение не то, которое нужно. | |
|
|
|
|
|
|
|
для: mindless
(19.02.2007 в 16:12)
| | $this используется для доступа к членам класса, $this->name и $name две разные переменные. | |
|
|
|