divx4u.pl
20.08.2003, 20:56:21
I sie zaczelo zainteresowalem sie se sobie obiektowym programowaniem w php mam taki kodzik (klase autoryzacyjna) zbedne wyciahane
[php:1:2c9af6e6c2]
<?
//ciah
class auth
{
//ciah
function auth( $Username, $Password )
{
//ciah
if(TRUE)
$UserObject = new User;
$UserObject -> IdUser = "dupamaryna";
return $UserObject;
}
else
{
//ciah
}
}
}
$auth = new auth("andriu","andriu");
?>
?>[/php:1:2c9af6e6c2]
problem polega na tym ze nie wiem jak sie dostac do
[php:1:2c9af6e6c2]$UserObject; [/php:1:2c9af6e6c2]
a dokladniej zwrocic wartosc IdUser
adwol
20.08.2003, 21:09:40
Cytat
problem polega na tym ze nie wiem jak sie dostac do
[php:1:1e37f83991]$UserObject; [/php:1:1e37f83991]
A skąd? Z kodu na zewnątrz konstruktora? Raczej sie nie da bo to zmienna lokalna funkcji. Zadeklaruj ją w samym obiekcie:
[php:1:1e37f83991]<?php
var $UserObject;
?>[/php:1:1e37f83991]
a potem odwołuj się normalnie jak do zmiennej wewnątrz obiektu:
[php:1:1e37f83991]<?php
$auth->UserObject;
?>[/php:1:1e37f83991]
Poza tym nie wiem czy konstruktor może zwracać jakąkolwiek wartość lub czy to ma jakiś sens.
divx4u.pl
21.08.2003, 19:52:51
no wyjasniam czmu skad taki pomysl o to chodzi iz zalozenie bylo takie ze klasa autoryzacyjna bedzie se po zalogowaniu zwracac obiekt z danymi o tym uzytkowniku , dzieki za wyjsniania
mam rozumiec ze nie dy rydy wypluc obiektu niepowiazanego z ta moja klasa "auth"
kwiateek
21.08.2003, 20:01:21
adwol
21.08.2003, 20:48:46
Cytat
no wyjasniam czmu skad taki pomysl o to chodzi iz zalozenie bylo takie ze klasa autoryzacyjna bedzie se po zalogowaniu zwracac obiekt z danymi o tym uzytkowniku , dzieki za wyjsniania
mam rozumiec ze nie dy rydy wypluc obiektu niepowiazanego z ta moja klasa "auth"
IIRC, konstruktor niejawnie zwraca zawsze obiekt swojej klasy, wiec nie możesz nic więcej zwrócić. Zrób sobie metodę w tej klasie która zwraca takie informacje i wywołaj ją zaraz po stworzeniu obiektu.
Cudi
22.08.2003, 01:29:06
Nie ławtwiej przypisać wskaźnik do obietku zmiennej klasowej ? Imho napewno bedzie to lepsze od tworzenia osobnej funkcji do zwracania takowego wskaźnika.
divx4u.pl
22.08.2003, 20:27:37
moze przykladzik przypisania wskaznika do obiektu zmiennej klasowej
FiDO
22.08.2003, 20:33:45
wskaznik to troche zle okreslenie, bo takowych w php nie ma, ale zapewnoe chodzilo o cos w tym stylu:
[php:1:1829a611f2]
<?
//ciah
class auth
{
//ciah
var $UserObject;
function auth( $Username, $Password )
{
//ciah
if(TRUE)
$this->UserObject = new User;
$this->UserObject->IdUser = "dupamaryna";
}
else
{
//ciah
}
}
function &GetUserObj()
{
return $this->UserObject;
}
}
$auth = new auth("andriu","andriu");
$user = $auth->GetUserObj();
?>
[/php:1:1829a611f2]
divx4u.pl
22.08.2003, 20:53:52
dopre kurde ! bede zjuterka lookal..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.