Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pocetnik sam u OOP Pomoc

[es] :: Advanced PHP :: Pocetnik sam u OOP Pomoc

[ Pregleda: 800 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

feroc1ty
Goran Gajic

Član broj: 154894
Poruke: 82
77.46.204.*



Profil

icon Pocetnik sam u OOP Pomoc22.12.2007. u 16:30

Pravim class-u da mi izbaci podatke od nekog korisnika ali ne znam kako da izbacim array iz funkcije.


Moj primer bez klase

Code:
    
$id = 1;
$sql = "SELECT * FROM `users` WHERE id = '$id'";
$query = mysql_query($sql);
$userinfo = mysql_fetch_assoc($query);
echo 'Username : '.$userinfo['username'].'<br /> Email : '.$userinfo['email'];


A sa classom

Code:
    


class getInfo {

  function UserInfo($id) {
  $sql = "SELECT * FROM `users-ttt` WHERE id = '$id' ";
  $query = mysql_query($sql);
  $userinfo= mysql_fetch_assoc($query);
  }
}
$info = new getInfo() ;
$info->UserInfo(1);
echo 'Username : '.$userinfo['username'].'<br /> Email : '.$userinfo['email'];


Sta trebam da dodam ili da izmenim da bi mi classa radila

[Ovu poruku je menjao feroc1ty dana 22.12.2007. u 21:03 GMT+1]
22.12.2007. u 16:30 

feroc1ty
Goran Gajic

Član broj: 154894
Poruke: 82
77.46.230.*



Profil

icon Re: Pocetnik sam u OOP Pomoc24.12.2007. u 01:29
Code:

class getInfo {
    public $userinfo;
  function UserInfo($id) {
  $sql = "SELECT * FROM `users-ttt` WHERE id = '$id' ";
  $query = mysql_query($sql);
  $this->userinfo= mysql_fetch_assoc($query);
  }
}
$info = new getInfo() ;
$info->UserInfo(1);
echo 'Username : '.$info->userinfo['username'].'<br /> Email : '.$info->userinfo['email'];


Moje resenje je ovako ali ako zna drugacije (elegantije) da nemoramda kucam $info->userinfo['username'] nego samo $userinfo['username'] Neka slobodno postuje!!!

[Ovu poruku je menjao feroc1ty dana 24.12.2007. u 02:56 GMT+1]
24.12.2007. u 01:29 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Član broj: 31848
Poruke: 662
89.216.108.*



Profil

icon Re: Pocetnik sam u OOP Pomoc24.12.2007. u 08:41
Ako vec zelis tako, moj predlog sa malim izmenama je
Code:

class getInfo {
    public $userinfo;

  function setUserInfo($id) {
       $sql = "SELECT * FROM `users-ttt` WHERE id = '$id' ";
       $query = mysql_query($sql);
       $this->userinfo= mysql_fetch_assoc($query);
  }

  function getUserInfo(){
      return $this->userinfo;
  }
}
$info = new getInfo() ;
$info->setUserInfo(1);
$userinfo = $info->getUserInfo;

echo 'Username : '.$userinfo['username'].'<br /> Email : '.$userinfo['email'];


Ali naravno, sve su ovo finese i mozda vise stvar navike rada sa oop nego sto mozda tako treba.
Razlog dodavanaj jos jedne metode je taj sto ces nekada mozda zeleti da nekako obradis podatke koje citas iz klase (npr: odraditi neku proveru dal user postoji ili nesto drugo...), i to onda mozes odraditi na jednom mestu, u samoj klasi a ne svuda kroz ceo kod. (sto i jeste poenta) Bar su mene ucili da objekat treba da ima svoje metode kojima vraca vrednosti, kao i svoje metode za setovanje istih, kako bi se objekat brinuo o tome da li je potrebna neka obrada ili ne, a ne ti kroz ostatak koda.

btw, inace radim sa smartyjem, pa prosledim ceo objekat, i koristim nesto nalik ovome sto si prvi put postovao, samo postoji jos koja metoda za izvlacenje tacno odredjenog clana niza.

24.12.2007. u 08:41 

rajkoBekrija
BiH - BL

Član broj: 123164
Poruke: 31
*.broadband.blic.net.



Profil

icon Re: Pocetnik sam u OOP Pomoc18.04.2008. u 03:00
Znam da je tema stara, ali reko da je malo osvjezimo, recimo ovakvo rjesenje

Code:
<?php

   class getInfo {
      
      function __construct($id) {
         $this -> Data = mysql_fetch_assoc( mysql_query( "SELECT * FROM `users-ttt` WHERE id = '{$id}' LIMIT 1") );
      }
      
      function __get( $Key ){
         return $this -> Data[ $Key ];
      }
      
   }

   
   $Info = new getInfo( 1 );
   print "Username : {$Info->username}<br />Email : {$Info->email}";

?>
18.04.2008. u 03:00 

[es] :: Advanced PHP :: Pocetnik sam u OOP Pomoc

[ Pregleda: 800 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.