Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP Sichtbarkeitszonen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • OOP Sichtbarkeitszonen

    Hey,

    1. Wie kann ich denn objekte in einer protected oder private function als public ausgeben ? Wenn man objekte aus protected oder private functions einfach ausgeben will kommt ein error. Ich versteh nicht wie man das machen kann.

    2. Habe mit OOP angefangen vor paar Tagen. Ist so der Ausbau des scripts ok ? :

    PHP-Code:
    <?php


    class User
    {
    public 
    $username;
    public 
    $password;
    public 
    $email;
    public 
    $error = array();

    public function 
    Username($newUser){


    if(empty(
    $newUser)){
    $this->error[0] = '<p class="fehler">Bitte geben sie ihr Benutzername an! </p>';
    return 
    false;

    } else if(
    strlen($newUser) < 4){
    $this->error[1] = '<p class="fehler">Bitte verwenden sie mindestens 4 Buchstaben für ihr Benutzername! </p>';
    return 
    false;

    } else{

    $this->username $newUser;
    return 
    true;
    }


    }

    public function 
    Password($newPass){

    if(empty(
    $newPass)){
    $this->error[2] = '<p class="fehler">Bitte geben sie ihr Passwort an! </p>';
    return 
    false;

    }

    $this->password $newPass;
    return 
    true;
    }

    public function 
    Email($newEmail){
    if(empty(
    $newEmail)){
    $this->error[3] = '<p class="fehler">Bitte geben sie ihre E-Mail-Adresse an! </p>';
    return 
    false;

    }
    else if(
    filter_var($newEmailFILTER_VALIDATE_EMAIL) === false){
    $this->error[4] = '<p class="fehler">Bitte geben sie eine richtige Email an! </p> ';
    return 
    false;

    } else{
    $this->email $newEmail;
    return 
    true;
    }
    }



    }



    ?>

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>OOP-Formular</title>

    <style>
    p.fehler{
    color: red;
    }
    </style>
    </head>
    <body>
    <form method="post">
    <label>Name:</label><input type="text" name="name">
    <label>Password : </label><input type="password" name="password">
    <label>E-Mail-Adresse:</label><input type="text" name="email">

    <input type="submit" name="senden" value="Absenden!">
    </form>

    <?php
    if(isset($_POST['senden'])){

    $ich = new User();
    $ich->Username($_POST['name']);
    $ich->Password($_POST['password']);
    $ich->Email($_POST['email']);

    if(
    count($ich->error) > 0){
    echo 
    implode(''$ich->error );
    } else{

    echo 
    "Username : " $ich->username;
    echo 
    "Password : " $ich->password;
    echo 
    "Email : " $ich->email;
    }
    }
    ?>
    </body>
    </html>

    Conner

  • #2
    1. Gar nicht. Deswegen sind die Methoden ja schließlich auch als protected/private gemacht.

    Kommentar


    • #3
      Hi,

      habs falsch beschrieben.

      Gibt es Methoden damit ich den wert der protected variable $email auch außerhalb der Klasse abrufen kann ?

      Kommentar


      • #4
        Ja sicher, nennt sich getter:
        PHP-Code:
        public function GetMailAlias() {

            return 
        $this->MailAlias;


        Kommentar

        Lädt...
        X