Pokaż wyniki od 1 do 7 z 7

Wątek: klasa a klasa która lepsza

  1. #1
    Zarejestrowany
    Dołączył
    May 2008
    Posty
    327

    Domyślnie klasa a klasa która lepsza

    Mam dwa kody i się zastanawiam która lepsza:
    Kod php:
      <?php
      
    class player
      var 
    $info
      function 
    getBasic($login){ 
      
    $mysql mysql_query("select * from `user` where `login` = '$login'");
      
    $this->info mysql_fetch_array($mysql); 
      } 
      } 
      
    $player = new player
      
    $player->getBasic($login); 
      
    ?>
    i drugi
    Kod php:
    <?
    class player{
        public 
    $dane;
        function 
    pobranie_danych($nazwa){
            
    $this->dane mysql_fetch_array(mysql_query("select plec, klasa, energia, czasen from `konta` where `nazwa` = '$nazwa' limit 1"));
        } 

    $gracz = new player;
    $gracz->pobranie_danych($nazwa); 
    echo 
    $gracz->dane['energia'];
    ?>
    Który z nich jest praktyczniejszy??
    można to jeszcze w konstruktorze zrobic ale pomijam fakt

  2. #2
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    Obie sa na tym samym etapie. Przydatnosc moglyby pokazac gdyby posiadaly rozne zastosowanie. Jednak to co one wykonuja to jedno ZBEDNE zapytanioe ktore lepiej umiescic w kodzie niz w klasie.

  3. #3
    Mistrz Joba Awatar Meares
    Dołączył
    Jan 2009
    Posty
    2,630

    Domyślnie

    A ja bym proponował coś takiego:
    Kod php:
    <?php
    class gracz {
        function 
    GetInfo($info$id false) {
            if(isset(
    $id)) $PlayerID $id; else $PlayerID $_SESSION['PlayerID'];
            if(
    is_array($info)) {
                
    $i 1;
                
    $text "";
                foreach(
    $info as $key => $value) {
                    if(
    $i == 1$text .= "`".$value."`"; else $text .= ", `".$value."`";
                    
    $i++;
                }
            } else if(
    $info == "all") {
                
    $text "*";
            } else {
                
    $text "`".$info."`";
            }
            
    $q mysql_query("SELECT ".$text." FROM `users` WHERE `id`='".$PlayerID."'") or die(mysql_error());
            
    $r mysql_fetch_assoc($q) or die(mysql_error());
            if(
    is_array($info) || $info == "all") return $r; else return $r[$info];
        }
    }
    /*
    * $klasa = new gracz();
    * $kolumny = $klasa->GetInfo(array("kolumna_a", "kolumna_b"), 12); // Pobieramy informacje (kolumny "kolumna_a" i "kolumna_b") o graczu posiadającym ID = 12
    * echo "kolumna_a: ".$kolumny['kolumna_a']."<br />kolumna_b: ".$kolumny['kolumna_b'];
    */
    ?>
    Pozwala pobrać jedną kolumnę (jeśli jako $info damy stringa z nazwą kolumny), kilka kolumn (jeśli jako $info damy tablicę (klucze obojętne, liczą się tylko wartości)) lub wszystkie kolumny (jeśli jako $info damy stringa o treści "all").

    PS. Czy można by ją (moja funkcję) ocenić?
    Ostatnio edytowane przez Meares ; 26-09-2009 o 20:17

  4. #4
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    No fajna funkcja. Do tworzenia klas taka sie przyda. sama w sobie jest srednioprzydatna bo ma wady i zalety:
    zalety: zautomatyzowany proces
    wady: kiepsko sie jej uzywa indywidualnie. Lepiej stosowac w klasie gdzie nie zagladamy do kodu.

    Mam jeszcze rade: dodaj do niej opcje "debug" ktora wyswietli wszystkie tresci takie jak zapytanie, zwrot wynikow i komunikat bledow. Cos takiego moze fajnie usprawnic prace bo wtedy mozemy bardzo latwo debugowac swoj skrypt i wykluczyc pomylke przy tworzeniu zapytania.

  5. #5
    Mistrz Joba Awatar Meares
    Dołączył
    Jan 2009
    Posty
    2,630

    Domyślnie

    Cytat Zamieszczone przez karer Zobacz posta
    wady: kiepsko sie jej uzywa indywidualnie. Lepiej stosowac w klasie gdzie nie zagladamy do kodu.
    Tego kawałka nie rozumiem. ^^ Przecież jest w klasie. (class gracz)

  6. #6
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    Tak tak ale chodzi mi o to ze nie ma wiekszego sensu wywolywac jej recznie bo jest malo przejrzysta dla czlowieka. Lepiej zrobic ja raz i niech skrypt z automaty ja zawsze wywoluje gdy jest potrzebna.

  7. #7
    Mistrz Joba Awatar Meares
    Dołączył
    Jan 2009
    Posty
    2,630

    Domyślnie

    No to już chyba wiem o co ci chodzi. ^^

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Vallheru v. 1.3 (beta) Klasa magiczna
    Przez wafel611 w dziale Support Vallheru
    Odpowiedzi: 7
    Ostatni post / autor: 13-09-2010, 15:10
  2. Klasa postaci
    Przez Belly w dziale Budowa gry via www
    Odpowiedzi: 7
    Ostatni post / autor: 19-06-2010, 23:54
  3. Nasza-klasa
    Przez Zapper w dziale Kosz
    Odpowiedzi: 12
    Ostatni post / autor: 15-03-2010, 12:26
  4. Która wersja jest lepsza 0.3 czy 0.8?
    Przez hphubert w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 4
    Ostatni post / autor: 04-10-2008, 06:58
  5. [R] Nowa klasa
    Przez serart15 w dziale Support Vallheru
    Odpowiedzi: 7
    Ostatni post / autor: 12-05-2008, 16:40

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •