Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php :: class] dostep do obekitu w klasie ??
Forum PHP.pl > Forum > PHP
divx4u.pl
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
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
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
Powinno pomóc:
http://forum.php.pl/viewtopic.php?t=3654

Pozdrawiam.
adwol
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
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
moze przykladzik przypisania wskaznika do obiektu zmiennej klasowej questionmark.gif
FiDO
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.