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

Globalna varijabla unutar klase

[es] :: PHP :: PHP za početnike :: Globalna varijabla unutar klase

[ Pregleda: 2443 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.dynamic.isp.telekom.rs.



+25 Profil

icon Globalna varijabla unutar klase24.02.2011. u 17:56 - pre 160 meseci
Nece da mi vidi globalne promenjive u klasi
class User
Citat:
{
public $logged,$id,$username,$password,$email,$active,$registration_date_time,$last_login_date_time,$banned;
public $db;

public function User($username=NULL,$password=NULL,$crypt=FALSE)(DA/NE)
{
//UZIMA SE GLOBALNA PROMENJIVA BAZE I LOKALNA PROMENJIVA SE PREUSMERAVA NA ADRESU GLOBALNE PROMENJIVE
global $db;

...


Probao sam i sa $GLOBALS... nop...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Globalna varijabla unutar klase24.02.2011. u 19:58 - pre 160 meseci
Citat:
Milan M. Radovic: Nece da mi vidi globalne promenjive u klasi
class User

Probao sam i sa $GLOBALS... nop...


Zasto uopste i radis sa globals?
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Globalna varijabla unutar klase24.02.2011. u 20:35 - pre 160 meseci
Tamo gde si napisao "public $db;" ti uopšte nisi definisao globalnu promenljivu nego lokalnu-objektnu promenljivu, tako da unutar metoda s onim "global $db;" ne pronalaziš ništa.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.dynamic.isp.telekom.rs.



+25 Profil

icon Re: Globalna varijabla unutar klase25.02.2011. u 09:17 - pre 160 meseci
aha.. Uspeo sam... problem je bio krajnje idiotski na kraju - promenjiva je u sesiji bila pa je zbog toga pravila problem... ima tu malo tripova boz' sacuvaj i sakloni :)

Pa moja klasa Database se koristi u svim klasama... ili bar vecini, pa moram nekako da je ubacim u klasu...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

ManInTheBox
Beograd

Član broj: 272293
Poruke: 26
*.dynamic.sbb.rs.



Profil

icon Re: Globalna varijabla unutar klase25.02.2011. u 12:05 - pre 160 meseci
Citat:
Milan M. Radovic: Pa moja klasa Database se koristi u svim klasama... ili bar vecini, pa moram nekako da je ubacim u klasu...


pa ne treba ti globalna promenljiva za tako nesto... u OOP-u ne bi trebao da koristis globalne promenljive...
Code (php):

<?php
    require_once 'Database.php';
   
    class User {
         // Gledaj da polja klase cuvas privatna a po potrebi napravis getter-e i setter-e
         private $logged,$id,$username,$password,$email,$active,$registration_date_time,$last_login_date_time,$banned;
         private $db;

         public function __construct($username=NULL,$password=NULL,$crypt=FALSE) {
             $this->db = Database::getInstance();  // evo ti konekcija na bazu
             $this->db->method(); // radi nesto sa tom bazom
         }
?>
 
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.dynamic.isp.telekom.rs.



+25 Profil

icon Re: Globalna varijabla unutar klase28.02.2011. u 17:53 - pre 159 meseci
Aaaaaaaaaaaaaa :D jao kako je to extra :) Znao sam da mogu nekako da uzmem instancu da koristim, ali nisam znao kako!
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Globalna varijabla unutar klase01.03.2011. u 04:06 - pre 159 meseci
Citat:
Milan M. Radovic: Aaaaaaaaaaaaaa jao kako je to extra Znao sam da mogu nekako da uzmem instancu da koristim, ali nisam znao kako!


Evo ti i primer za svaki slucaj:
Code (php):

protected static $instance = null ;
/**
* Allow only one instance
*
* @return Sorter
*/

public static function getInstance()
{
     if ( !self::$instance )
          self::$instance = new Sorter() ;
     return self::$instance ;
}
 
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.dynamic.isp.telekom.rs.



+25 Profil

icon Re: Globalna varijabla unutar klase01.03.2011. u 18:25 - pre 159 meseci
Ja objekat imam napravljen na globalnom nivou. Ovim samo pravim objekat u objektu? why?

UPDATE : Uspeo.... mada mi se ne svidja bas sistem... ali radi posao :)

[Ovu poruku je menjao Milan M. Radovic dana 01.03.2011. u 19:38 GMT+1]
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Globalna varijabla unutar klase01.03.2011. u 19:49 - pre 159 meseci
Citat:
Milan M. Radovic: Ja objekat imam napravljen na globalnom nivou. Ovim samo pravim objekat u objektu? why?


Koriscenje global-a je ubedljivo najgora stvar koju neki programer moze da uradi.
Citat:

UPDATE : Uspeo.... mada mi se ne svidja bas sistem... ali radi posao


Raditi uvek sa jednom instancom 'necega' je odlicna stvar i tek kroz praksu ces videti zasto. U tvom konkretnom slucaju:

Code (php):

protected static $instance = null ;
/**
* Allow only one instance
*
* @return Database
*/

public static function getInstance()
{
     if ( !self::$instance ){
          $database = new Database() ;
          $database->connect() ;
          .... itd...
          self::$instance = $database ;
     }
     return self::$instance ;
}
 


Jel sad vidis prakticnu vrednost, mada je ovo banalan primer? U tvom programu ces uvek pozivati Database::getInstance() a ta metoda se brine o tome da napravi konekciju prvi put, sacuva nesto ako joj kasnije treba... itd..

Bolji primer je klasa Settings gde bi cuvao stvari poput broj rezultata kod paginacije, da li sajt online/offline (1/0) itd. Pogledaj sliku, to je iz pravog programa koji sad radim. Klasa snima svoje vrednosti u .ini fajl. Kad uradim Setting::getInstance()->getContestCreationFee() ; metoda getInstance() se prvo pobrine da ucita .ini fajl, parsira ga i od tada pa nadalje radim sa necim sto je vec ucitano i parsirano.

Prikačeni fajlovi
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
82.117.198.*



+25 Profil

icon Re: Globalna varijabla unutar klase02.03.2011. u 08:37 - pre 159 meseci
yap :) thanks :p
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Globalna varijabla unutar klase

[ Pregleda: 2443 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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