Objekte aus Klassen erzeugen

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

  • Objekte aus Klassen erzeugen

    Hi Leute,

    ich habe mir eine Klasse geschrieben, die automatisch Thumbnails von Bildern erstellt. Diese hat folgenden Aufbau:
    PHP-Code:
    class thumbnailer {
    ...
    function 
    thumbnailer($destination$mode$value) {...}
    function 
    make($file$mode ''$value '') {...}
    ...

    Jetzt erzeuge ich ein neues Objekt von dieser Klasse, um damit dann mein Bild zu bearbeiten:
    PHP-Code:
    $thumb = &new thumbnailer('.','fixedwidth','100');
    <img src="<?= $thumb->make('/thumbnailer/pic.gif'); ?>">
    Jetzt meine Frage: Ich habe in einigen Beiträgen hier gelesen, dass viele von euch ihre Klassen ohne das & vor dem new aufrufen. Welchen Unterschied macht das ganze?

    Tschüssi Steffen

  • #2
    Hmm.....hab ich ja noch nie gesehen.

    Ist das vielleicht das gleiche wie das @ Zeichen vor Funktionen, die geben dann keine Fehlermeldungen aus.
    http://www.freehost-script.com

    Werden Sie Webhoster, mit Werbung auf den Userseiten, Php, Mysql, FTP

    Kommentar


    • #3
      & erzeugt dir ne referenz auf irgendwas und keine kopie
      PHP-Code:
      $a=1;
      $b=&$a;
      $c=$a;
      $a=2;
      echo 
      $a.' '.$b.' '.$c
      gibt dir 2 2 1 aus

      is insofern ganz sinnvoll, als du vielleicht irgendwann mal ne klasseninterne variable in ner externen function veränderst, mehr dazu hier: http://www.php.net/manual/de/language.references.php
      Zuletzt geändert von mrhappiness; 09.05.2003, 16:25.
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        & ist beim "new" Befehl extrem sinnvoll, da beim
        new eine Instanz der Klasse erzeugt wird. Beim Zuweisungs-
        operator = wird diese dann kopiert.

        also, bei

        $object = new MyClass();

        wird das Object dann einmal erzeugt und einmal kopiert,
        bei

        $object = & new MyClass();

        wird das Object nur einmal erzeugt.
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Danke für eure Hilfe! Jetzt ist mir einiges klarer geworden.

          Also nochmals vielen Dank

          Kommentar

          Lädt...
          X