Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z prostą klasą PHP
#1
Raczkuje w tematyce programowania obiektowego więc proszę o wyrozumiałośc Wink Napisałem sobie prostą klasę na podstawie innej prostej klasy, jednak nie wyświetla mi imienia.
class.bramkarz.php
Kod:
<?php
    class Bramka {
    private $_name;
    private $_wiek;
        public function przywitanieGoscia() {
            echo "Czesc {$this->getName()}";
        }
        public function getName() {
            return $this->name;
        }
        public function setName($name) {
            if(!is_string($name) || strlen($name) == 0) {
                throw new Exception("Niepoprawna wartosc");
            }
        }
        function geWiek() {
            return $this->name;
        }
        function setWiek($wiek) {
            if(!is_numeric($wiek)) {
                throw new Exception("Wprowadzona wartosc to nie liczba");
            }
        }
        function sprawdzWiek($wiek) {
            if($wiek >= '18') {
                echo "Zapraszamy do lokalu";
            } else {
                echo "Dzieci tutaj nie wpuszczamy, zjazd!";
            }
        }
    }
?>
przywitaj.php
Kod:
<?php
    require_once('class.bramkarz.php');

if($_POST['imie'] != "" &&
      $_POST['wiek'] != "") {
    $imie = $_POST['imie'];
    $wiek = $_POST['wiek'];
    $objDemo = new Bramka();
    $objDemo->setName($imie);
    $objDemo->przywitanieGoscia();
    $objDemo2 = new Bramka();
    $objDemo2->sprawdzWiek($wiek);
    } else {
?>
Sprawdzmy czy mozesz wejsc do tego lokalu ;)
<form method="post" action="demo.php">
<table>
    <tr>
        <td>Podaj swoje imie:</td><td><input type="text" name="imie"></td>
        <td>Podaj swoj wiek:</td><td><input type="text" name="wiek"></td>
    </tr>
</table>
<input type="submit" name="submit" value="aktywuj">
</form>
<?php
}
?>
Wszelkie rady i pomoc mile widziana Wink
[Obrazek: 2guxq1i.gif]
#2
tak na oko to w public function setName($name) wcale nie nadajesz $this->name i potem getName() nie ma jak podać wartości do przywitanieGoscia()
#3
O super, były dwa błędy, jeden ty rozwiązałeś a na drugi ja wpadłem dzięki tobie Wink Wielkie dzięki. A co do kodu, to poprawny w miarę? Chodzi mi o to czy uczę się w dobrym kierunku Wink
[Obrazek: 2guxq1i.gif]
#4
Pamiętam, że kiedyś przydała mi się ta seria:
http://webcity.pl/webcity/programowanie_obiektowe_w_php_5_cz__1
Wszystko wskazuje, że kroczysz w dobrą stronę. Napewno dodałbym przed funckjami private, public itd. Jeszcze takie coś mi przyszło na myśl, że chyba niepotrzebne jest tam "return $this->..." jeśli nie zwracasz wartości poza klasę.
#5
Zerknę na tą serię, ale mam też książkę i to z niej czerpie wiedzę Wink Jeszcze raz dzięki a temat zamykam Wink
[Obrazek: 2guxq1i.gif]


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Problem z klasą R_Rafalsky 3 3,563 15-04-2011, 12:19
Ostatni post: R_Rafalsky
  Prosta gra via www edix92 3 3,286 25-01-2011, 05:17
Ostatni post: edix92
  Problem z prostą galerią zoom24 0 1,528 07-08-2010, 19:32
Ostatni post: zoom24
  Kolejny problem z klasą php dziamber 8 5,518 11-07-2009, 03:36
Ostatni post: kajzur

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl