Raketenwilli: header Location in while Schleife?

Beitrag lesen

Und nochwas, darf ich Eigenschaften jederzeit überschreiben?

$pdf = new(klassenaufruf);
$pdf->name = "Heinz";
...
...
...
$pdf->name = "doch lieber Hans";

Bastian

Das kommt darauf an, wie die Klasse definiert ist

Steht da:

class foo {
    protected name="";
    #…
}

Dann kannst Du das nicht. Es sei denn Du hast einen setter, bzw. getter:

<?php
# file: foo.class.php

class foo {

    protected $name;
    
    function __construct( $s = "Foo" ) {
        $this -> setName( $s );
    }
    
    function setName( $s ) {
         $s = trim( $s );
         if ( $s ) {
             $this->name = trim( $s );
             return true;
         } else {
             return false;
         }
    }

    function getName() {
         return $this -> name;
    }
}

Dann kannst Du das wie folgt machen:

<?php
require_once( 'foo.class.php' )
$f = new foo ('Bastian');
echo $f -> getName() . PHP_EOL;
$f -> setName( 'Hans' );
echo $f -> getName() . PHP_EOL;
$f -> setName( 'Willi' );
echo $f -> getName() . PHP_EOL;
# Bastian
# Hans
# Willi

Vorteil: Du kannst die übergebenen Werte prüfen ( if() ) und ggf. verändern ( trim() ), ggf. sogar eine Authorisierung prüfen.

Hast Du aber:

class foo {
    public $name;
}

Dann kannst Du das „jederzeit“ - ohne eine Prüfung zu erzwingen.

$f = new foo;
$f -> name = 'Bastian';
echo $f -> name . PHP_EOL;
$f -> name = 'Hans';
echo $f -> name . PHP_EOL;
$f -> name = 'Willi';
echo $f -> name . PHP_EOL;
# Bastian
# Hans
# Willi

Die Variante 2 sieht einfacher aus, öffnet aber „jeder Menge Mist“ Tür und Tor. Oft will man genau das gerade nicht haben. Das wirst Du schon noch merken...

0 85

header Location in while Schleife?

Bastian
  • php
  1. 0
    Auge
    1. 0
      Bastian
      1. 0
        Robert B.
      2. 0
        Auge
  2. 0
    Robert B.
    1. 0
      Auge
  3. 0
    Felix Riesterer
  4. 1
    Rolf B
    1. 0
      Bastian
      1. 0
        Raketenwilli
        1. 0
          Bastian
  5. 0
    Raketenwilli
    1. 0
      Bastian
      1. 0
        Raketenwilli
        1. 0
          Bastian
          1. 0
            Raketenwilli
            1. 0
              Bastian
              1. 0
                Raketenwilli
                1. 0
                  Bastian
                  1. 0
                    Bastian
                  2. 0
                    Rolf B
                    1. 0
                      Bastian
                      1. 0
                        Rolf B
                        1. 0
                          Bastian
                          1. 0
                            Rolf B
                            1. 0
                              Bastian
                              1. 0
                                Rolf B
                                1. 0
                                  Bastian
                                  1. 0
                                    Raketenwilli
                                    1. 0
                                      Bastian
                                      1. 0
                                        Raketenwilli
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Raketenwilli
                                      2. 0
                                        Robert B.
                                        • menschelei
                                    3. 0
                                      Robert B.
                                  2. 0
                                    Rolf B
                                    1. 0
                                      Raketenwilli
                                      1. 0
                                        Bastian
                                        1. 0
                                          Rolf B
                                        2. 0

                                          Potentieller Lieblingskunde ...

                                          Raketenwilli
                                          1. 0
                                            Bastian
                                            1. 0
                                              Mitleser 2.0
                                              1. 0
                                                Bastian
                                    2. 0
                                      Bastian
                                      1. 0
                                        Raketenwilli
                                        1. 0

                                          Schleife läuft durch, wenn ich etwas Code heraus nehme

                                          Bastian
                                          1. 0
                                            Tabellenkalk
                                            1. 0
                                              Bastian
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  Bastian
                                                  1. 0

                                                    Linux: Dateien mit gleichen Namen in zwei Verzeichnissen finden und vergleichen

                                                    Raketenwilli
                                                    • linux
                                                    • shell
                                                    1. 0
                                                      Bastian
                                          2. 0
                                            Rolf B
                                        2. 0

                                          Variable aus Klasse im Restscript nutzen

                                          Bastian
                                          1. 0
                                            Rolf B
                                            1. 0
                                              Bastian
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  Tabellenkalk
                                                  1. 0
                                                    Rolf B
                                                    1. 0
                                                      MudGuard
                                                2. 0
                                                  Bastian
                                                  1. 0
                                                    Der Martin
                                                    1. 0
                                                      Bastian
                                                      1. 0
                                                        Bastian
                                                        1. 0
                                                          Rolf B
                                                          1. 0
                                                            Bastian
                                                            1. 0
                                                              Rolf B
                                                              1. 0
                                                                Der Martin
                                  3. 0
                                    Robert B.
                                    • oop
                                    • php
                                    1. 0
                                      Bastian
            2. 0

              Einfache Lösung...

              Raketenwilli
              1. 0
                Bastian
                1. 0
                  Raketenwilli
                  1. 0
                    Bastian
                  2. 0
                    Gunnar Bittersmann
                    • menschelei
                    1. 0
                      Raketenwilli
                      1. 0
                        Der Martin
                    2. 0
                      Rolf B
                      1. 0
                        Der Martin
                        1. 0
                          Robert B.
  6. 0

    PHP-Syntax: Anführungszeichen

    Gunnar Bittersmann
    1. 0
      Bastian
      1. 0
        Gunnar Bittersmann
      2. 0
        Raketenwilli