AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Gemeinsamer Konstruktor unter PHP4 und PHP5
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Gemeinsamer Konstruktor unter PHP4 und PHP5

Ein Thema von TurboMartin · begonnen am 10. Mai 2009 · letzter Beitrag vom 10. Mai 2009
Antwort Antwort
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Gemeinsamer Konstruktor unter PHP4 und PHP5

  Alt 10. Mai 2009, 13:25
Hallo DPler ,

ich sitze gerade an einem etwas merkwürdigem Problem, welches mir nicht erlaubt einen gemeinsamen Konstruktor für PHP4 und PHP5 zu bauen.

Unter PHP5 wurde der Konstruktor in der Methode __construct() untergebracht, während er bei PHP4 noch in einer Funktion mit dem Klassennamen lag. Somit hatte ich die überlegung, um nicht Kompatibilitätsprobleme zu bekommen, in dem PHP5-Konstruktor den PHP4-Konstruktor aufzurufen, und somit Schreibarbeit/Größe der Datei zu minimieren. Dabei gibt es aber nun das Problem, dass ich einen 500-Fehler zurückbekomme.

Somit kam ich auf folgendes:
Code:
<?php
echo 'teststart --  ';

class ctest {

    protected $querytext = '';

    public function getquerytext() {
        return $querytext;
    }

    //PHP5
    function __construct() {
        _constructor();
        echo 'PHP5-constructor';
    }

    //PHP4
    function ctest() {
        _constructor();
        echo 'PHP4-constructor';
    }

    //Globaler Konstruktor
    private function _constructor() {
        echo 'ctest created';
    }
}

echo 'creating object --  ';
$myct = new ctest();
echo ' --  object created';

?>
Allerdings bekomme ich als Ausgabe nur teststart -- creating object -- zurück. Also wird anscheinend kein Konstruktor aufgerufen. Kommentiere ich nun meinen eigenen Konstruktor aus, funktioniert alles.

Aber wie kriege ich es hin, Kompatibilitätsprobleme zu vermeiden, aber auch möglichst alles kompakt zu halten?
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: [PHP] Gemeinsamer Konstruktor unter PHP4 und PHP5

  Alt 10. Mai 2009, 13:28
Code:
//PHP5
    function __construct() {
        $this->_constructor();
        echo 'PHP5-constructor';
    }
Außerdem ist unter PHP4 folgendes nicht verfügbar...
Code:
protected
public
private
und ein Objekt muss dort anders zugewiesen werden...
Code:
echo 'creating object --  ';
$myct =& new ctest();
echo ' --  object created';
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [PHP] Gemeinsamer Konstruktor unter PHP4 und PHP5

  Alt 10. Mai 2009, 13:31
Zitat von omata:
Code:
//PHP5
    function __construct() {
        $this->_constructor();
        echo 'PHP5-constructor';
    }
Danke...
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz