Ergebnis 1 bis 19 von 19

Thema: Anpassen eigenes Modul 3.5 > 4.4+: Korrekte Datenbankzugriffe

  1. #1
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard Anpassen eigenes Modul 3.5 > 4.4+: Korrekte Datenbankzugriffe

    Ich habe unter 3.5 mehrere eigene Module am laufen. Bin nun daran auf 4.4 (managed Version) und gleichzeitig PHP 7.3 umzustellen. Damit funktionieren verschiedene ältere Modulteile nicht mehr, insbesondere Datenbankzugriffe (mysql_query ...). Alle meine Module legen zusätzliche Tabellen in der Contao-DB an (via dca).

    Nach Umbau dieser Zugriffe mittels Datenbank-Klasse läuft das wieder, habe aber soeben im Forum gelesen, dass die Datenbank-Klasse auch ein alter Hut ist.

    Wie sieht der Standardzugriff (SELECT, INSERT etc) in Contao 4.4+ aus, der einigermassen zukunftssicher ist? Der Umbau auf Bundles ist im Moment nicht möglich, weil zu zeitaufwändig. Werde mich da aber natürlich auch reinknien müssen ...
    Gibt's da ein sinnvolles Tutorial/Wiki > als Hobby-Bastler ist es nicht so einfach, an grundlegende Infos zu gelangen.

    Danke für die Hilfe

    M

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Kommt darauf an was du machen möchtest. Prinzipiell kannst du auch weiterhin mit den Models arbeiten.

    Für andere Abfragen bzw. Operationen kannst du mit
    Code:
    \Contao\System::getContainer()->get('database_connection')
    die default Doctrine\DBAL\Connection holen.

  3. #3
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Nun, zu tun gibt es das übliche: Auslesen und Schreiben bzw. Updaten von Daten.
    Halte ich mich da dann am besten an https://www.doctrine-project.org/pro...ipulation.html ?

    Danke!

  4. #4
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Ich steht da wohl auf der Leitung. Wenn ich die DB mit
    PHP-Code:
    $db=\Contao\System::getContainer()->get('database_connection'); 
    einbaue und dann mit
    PHP-Code:
    $sql="SELECT * from tl_member WHERE id = ".$userid;
    $beon $db->prepare($sql);
    $beon->execute();
    $beod $beon->fetchAll(); 
    auslese, geschieht gar nichts. Was mach ich falsch?

    M

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Wie, gar nichts, kein Fehler? Wie sieht dein gesamter Code aus?

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von msol Beitrag anzeigen
    PHP-Code:
    $db=\Contao\System::getContainer()->get('database_connection'); 
    einbaue und dann mit
    PHP-Code:
    $sql="SELECT * from tl_member WHERE id = ".$userid;
    $beon $db->prepare($sql);
    $beon->execute();
    $beod $beon->fetchAll(); 
    M
    würde ich als

    PHP-Code:
    $sql="SELECT * from tl_member WHERE id = ?";
    $beon $db->prepare($sql);
    $beon->execute($userid);
    $beod $beon->fetchAll(); 
    schreiben. Wenn "nichts passiert": gibt es denn ein Member mit der id=$userid?
    Geändert von fiedsch (29.01.2019 um 09:39 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Also, bisher hat das so funktioniert:
    PHP-Code:
    $this->import('Database');
    $this->import('FrontendUser''User');
    $userid $this->User->id;
    $sql="SELECT * from tl_member WHERE id = ".$userid;
    $beo=$this->Database->prepare($sql)->execute();
    echo 
    "[".$beo->id."] ".$beo->lastname." ".$beo->firstname.", ".$beo->city." (".strtoupper($beo->country).")<br/>"
    > das ergibt eine korrekte Ausgabe

    Mit folgendem Code erhalte ich keine Daten, aber auch keine Fehlermeldung:
    PHP-Code:
    $db=\Contao\System::getContainer()->get('database_connection');
    $this->import('FrontendUser''User');
    $userid $this->User->id;
    $sql="SELECT * from tl_member WHERE id = ".$userid;
    $beon->execute();
    $beod $beon->fetchAll();
    echo 
    "[".$beod->id."] ".$beod->lastname." ".$beon->firstname.", ".$beon->city." (".strtoupper($beon->country).")<br/>"
    Ich hatte früher alles mit mysql_query gelöst, das jetzt auf DB-Klasse umgebaut (Kompatibilität PHP 7+), aber da dies ja auch nicht mehr aktuell ist, jetzt auf DBAL umbauen.

    M

  8. #8
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Es fehlt dir das hier:
    PHP-Code:
    $beon $db->prepare($sql); 

  9. #9
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Hm, das war drin, hab es vergessen zu kopieren. Vollständiger Code ist
    PHP-Code:
    $db=\Contao\System::getContainer()->get('database_connection'); 
    $this->import('FrontendUser''User'); 
    $userid $this->User->id
    $sql="SELECT * from tl_member WHERE id = ".$userid
    $beon $db->prepare($sql);
    $beon->execute(); 
    $beod $beon->fetchAll(); 
    echo 
    "[".$beod->id."] ".$beod->lastname." ".$beon->firstname.", ".$beon->city." (".strtoupper($beon->country).")<br/>"
    Ergebnis: nichts (auch keine Fehlermeldung)

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Du musst alles herzeigen. Wie hast du das überhaupt eingebunden?

  11. #11
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Also, ich habe ein Modul, das bisher in 3.5 problemlos lief, aufgebaut nach üblichem Muster. Dieses habe ich in in 4.4 in den Systems/modules abgelegt. Das funktioniert mit den bisherigen Datenbankzugriffen mit der DB-Klasse problemlos.

    Ein Modul startet zB so:
    PHP-Code:
    class ModuleWolfEntry0 extends Module
    {
        
    /**
         * Template
         * @var string
         */
        
    protected $strTemplate 'mod_wolfentry0';
     
    public function 
    generate()
        {
            if (
    TL_MODE == 'BE')
            {
                
    $objTemplate = new \BackendTemplate('be_wildcard');
                
    $objTemplate->wildcard '###  Modul Wolfentry0 ###';
                return 
    $objTemplate->parse();
            }
        return 
    parent::generate();
        }
        
        
    /**
         * Compile the current element
         */
        
    protected function compile()
        {
    $this->import('Database');
    ... (
    hier der restliche Code funktioniert in 3.5 und 4.4 mit Zugriff über DB-Klasse 
    Wenn ich an dieser Stelle versuchsweise den vorher genannten Code für DB via DBAL eingebe, erhalte ich als Ausgabe nur die Klammern. Es gibt aber keine Fehlermeldung

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Poste den gesamten alten und neuen Code.

  13. #13
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Code bisher:
    PHP-Code:
    <?php
     
    class ModuleWolfEntry0 extends Module
    {
        
    /**
         * Template
         * @var string
         */
        
    protected $strTemplate 'mod_wolfentry0';
     
    public function 
    generate()
        {
            if (
    TL_MODE == 'BE')
            {
                
    $objTemplate = new \BackendTemplate('be_wildcard');
                
    $objTemplate->wildcard '### Modul Wolfentry0 ###';
                return 
    $objTemplate->parse();
            }
        return 
    parent::generate();
        }
        
        
    /**
         * Compile the current element
         */
        
    protected function compile()
        {
    $this->import('Database'); // Datenbank: Datenbankmodul laden > deprecated > ersetzen mit doctrine

            
    $dailysave=0;
    $groupsave=0;
    if(
    $_REQUEST['etyp']=="d"){  // für daily
    // Hier fehlt noch die serverseitige Datenkontrolle!
    $code=$_REQUEST["code"];
    $ddat=$_REQUEST["datedef"];
    $dat=preg_split("/[.]+/"$ddat);
    $datum=$dat[2]."-".$dat[1]."-".$dat[0];
    $ut=$_REQUEST["UT"];
    $qu=$_REQUEST["qu"];
    $g=$_REQUEST["g"];
    $f=$_REQUEST["f"];
    $A=$_REQUEST["A"];
    $B=$_REQUEST["B"];
    $C=$_REQUEST["C"];
    $D=$_REQUEST["D"];
    $E=$_REQUEST["E"];
    $F=$_REQUEST["F"];
    $G=$_REQUEST["G"];
    $H=$_REQUEST["H"];
    $J=$_REQUEST["J"];
        echo 
    "Q==".$_REQUEST['qu'];
    // Dublettenabfrage für daily : gibt es datensatz mit == ut == code und ==date?
        //parse date
        
    $sql "SELECT * from tl_data WHERE d_datum='".$datum."' AND d_ut = ".$ut." AND d_code=".$code;
        
    $dosql $this->Database->prepare($sql)->execute();
        switch(
    $dosql->numRows) {
            
    // Achtung: Dublette
            
    case "1":
            echo 
    "dublette";
            
    $du=1;
            echo 
    "<script language=javascript>location.assign('instrument.html?du=1');</script>";    
            break;
        }

    if(
    $J==""){
        
    $sql="INSERT INTO tl_data ( d_code, d_datum, d_ut, d_q, d_gruppen, d_flecken ) VALUE ( $code, '$datum', $ut$qu$g$f );";
        } else {
    $sql="INSERT INTO tl_data ( d_code, d_datum, d_ut, d_q, d_gruppen, d_flecken, d_A, d_B, d_C, d_D, d_E, d_F, d_G, d_H, d_J ) VALUE ( $code, '$datum', $ut$qu$g$f$A$B$C$D$E$F$G$H$J );";
        }
    $eintrag=$this->Database->prepare($sql)->execute;
        if(
    $eintrag){
            
    $dailysave=1;
        }
    //echo $sql;

    } elseif($_REQUEST['etyp']=="g"){ // für group-Daten
    $sA=0;
    $sB=0;
    $sC=0;
    $sD=0;
    $sE=0;
    $sF=0;
    $sG=0;
    $sH=0;
    $sJ=0;
    $sff=0;

    // für jede Gruppe vollen eintrag erstellen > grunddaten

    $code=$_REQUEST["code"];
    $ddat=$_REQUEST["datum"];
    $dat=preg_split("/[.]+/"$ddat);
    $datum=$dat[2]."-".$dat[1]."-".$dat[0];
    $ut=$_REQUEST["UT"];
    $qu=$_REQUEST["qu"];
    $g=$_REQUEST["g"];
    // jetzt alle arrays einlesen
        
    $f = array();
        
    $f $_REQUEST['f'];
        
    $zpd = array();
        
    $zpd $_REQUEST['zpd'];
        
    $p = array();
        
    $p $_REQUEST['pp'];
        
    $s = array();
        
    $s $_REQUEST['ss'];
        
    $sect = array();
        
    $sect $_REQUEST['sect'];
        
    $a = array();
        
    $a $_REQUEST['a'];
        
    $ah = array();
        
    $ah $_REQUEST['ah'];
        
    $pos = array();
        
    $pos $_REQUEST['pos'];
    //soviele schlaufen durchlaufen wie einträge in den arrays da sind
    $i=0;
    if(
    $f[$i]==NULL){
        
    $sql="INSERT INTO tl_groupdata ( g_datum, g_code, g_nr, g_ut, g_q, g_f, g_p, g_s, g_A ) VALUES ( '$datum', $code, 0, $ut$qu, 0, 0, 0, 0);";
    //echo $sql."<br/>";
        
    $eintrag=$this->Database->prepare($sql)->execute;
            if(
    $eintrag){
            
    $groupsave=1;
            }
    //tlim bestimmen
    $part explode(".",$datum);
    //echo $ht." ";
    $at mktime(0,0,0,intval($dat[1]),intval($dat[0]),intval($dat[2]));
    //echo $at;
    if($dat[1]==1){
        
    $lt mktime(0,0,0,12,1,(date("Y")-1));
        
    $lt2 mktime(0,0,0,1,1,date("Y"));
    } else {
        
    $lt mktime(0,0,0,(date("n")-1),1,date("Y"));
        
    $lt2 mktime(0,0,0,date("n"),1,date("Y"));
    }
    if(
    date("j")>15){
        
    $lt=$lt2;
    }

    //
    if($at >= $lt){
    $sqld="INSERT INTO tl_data ( d_code, d_datum, d_ut, d_q, d_gruppen, d_flecken, d_A, d_B, d_C, d_D, d_E, d_F, d_G, d_H, d_J ) VALUE ( $code, '$datum', $ut$qu, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );";
        if(
    $_SESSION['autosave']=="on"){
            
    //$eintrag=mysql_query($sqld) or die(mysql_error());
                
    if($eintrag){
                    
    $dailysave=1;
                }
            }
        }
    } else {
    while(
    $f[$i]<>NULL){
        
    $nr $i+1;
        
    $f[$i] = $f[$i]=='' NULL $f[$i];
        
    $zpd[$i] = $zpd[$i]=='' NULL $zpd[$i];
        
    $p[$i] = $p[$i]=='' NULL $p[$i];
        
    $s[$i] = $s[$i]=='' NULL $s[$i];
        
    $sect[$i] = $sect[$i]=='' NULL $sect[$i];
        
    $a[$i] = $a[$i]=='' 99 $a[$i];
        
    $ah[$i] = $ah[$i]=='' 99 $ah[$i];
    // Summation rechnen

    $sff=$sff+$f[$i];
    switch(
    $zpd[$i]){
    case 
    "Axx":
    case 
    "Axi":
        
    $sA=$sA+1;
        break;
    case 
    "Bxi":
    case 
    "Bxo":
        
    $sB=$sB+1;
        break;
    case 
    "Cri":
    case 
    "Csi":
    case 
    "Cai":
    case 
    "Chi":
    case 
    "Cki":
    case 
    "Cro":
    case 
    "Cso":
    case 
    "Cao":
        
    $sC=$sC+1;
        break;
    case 
    "Dri":
    case 
    "Dro":
    case 
    "Dsi":
    case 
    "Dsc":
    case 
    "Dso":
    case 
    "Dai":
    case 
    "Dac":
    case 
    "Dao":
    case 
    "Dhi":
    case 
    "Dhc":
    case 
    "Dki":
    case 
    "Dkc":
        
    $sD=$sD+1;
        break;
    case 
    "Eri":
    case 
    "Esi":
    case 
    "Esc":
    case 
    "Eai":
    case 
    "Eac":
    case 
    "Ehi":
    case 
    "Ehc":
    case 
    "Eki":
    case 
    "Ekc":
        
    $sE=$sE+1;
        break;
    case 
    "Fri":
    case 
    "Fsi":
    case 
    "Fsc":
    case 
    "Fai":
    case 
    "Fac":
    case 
    "Fhi":
    case 
    "Fhc":
    case 
    "Fki":
    case 
    "Fkc":
        
    $sF=$sF+1;
        break;
    case 
    "Cho":
    case 
    "Cko":
    case 
    "Dho":
    case 
    "Dko":
    case 
    "Ero":
    case 
    "Eso":
    case 
    "Eao":
    case 
    "Eho":
    case 
    "Eko":
    case 
    "Fro":
    case 
    "Fso":
    case 
    "Fao":
    case 
    "Fho":
    case 
    "Fko":
        
    $sG=$sG+1;
        break;
    case 
    "Hhx":
    case 
    "Hhi":
    case 
    "Hhc":
    case 
    "Hkx":
    case 
    "Hki":
    case 
    "Hkc":
        
    $sH=$sH+1;
        break;
    case 
    "Hrx":
    case 
    "Hri":
    case 
    "Hrc":
    case 
    "Hsx":
    case 
    "Hsi":
    case 
    "Hsc":
    case 
    "Hax":
    case 
    "Hai":
    case 
    "Hac":
        
    $sJ=$sJ+1;
        break;
    }

    //jetzt eintragen
    $sql="INSERT INTO tl_groupdata ( g_datum, g_code, g_nr, g_ut, g_q, g_f, g_Zpd, g_p, g_s, g_sector";
    if(
    $a[$i]!=99){
        
    $sql.=", g_A";
    }
    if(
    $pos[$i]!=99){
        
    $sql.=", g_pos";    
    }
    $sql.=" ) VALUES ( '$datum', $code$nr$ut$qu$f[$i], '$zpd[$i]', $p[$i]$s[$i]$sect[$i]";
    if(
    $a[$i]!=99){
    $sql.=", $a[$i]";
    }
    if(
    $pos[$i]!=99){
        
    $sql.=", '$pos[$i]'";    
    }

    $sql.=" );";
    //echo "Q=".$_REQUEST['qu'];
    //echo $sql."<br/>";
    $i=$i+1;
    $eintrag=$this->Database->prepare($sql)->execute;
    if(
    $eintrag){
        
    $groupsave=1;
        }

    }
    }


    //Print out Summation

    $prstring='
    <div class="boo" style="width:5em;">Datum</div>
    <div class="bo">UT</div>
    <div class="bo">q</div>
    <div class="bo">g</div>
    <div class="bo">f</div>
    <div class="bo">A</div>
    <div class="bo">B</div>
    <div class="bo">C</div>
    <div class="bo">D</div>
    <div class="bo">E</div>
    <div class="bo">F</div>
    <div class="bo">G</div>
    <div class="bo">H</div>
    <div class="bo" style="clear:both;">J</div>
    <div class="buu" style="width:5em;">'
    .$datum.'</div>
    <div class="bu">'
    .$ut.'</div>
    <div class="bu">'
    .$q.'</div>
    <div class="bu">'
    .$i.'</div>
    <div class="bu">'
    .$sff.'</div>
    <div class="bu">'
    .$sA.'</div>
    <div class="bu">'
    .$sB.'</div>
    <div class="bu">'
    .$sC.'</div>
    <div class="bu">'
    .$sD.'</div>
    <div class="bu">'
    .$sE.'</div>
    <div class="bu">'
    .$sF.'</div>
    <div class="bu">'
    .$sG.'</div>
    <div class="bu">'
    .$sH.'</div>
    <div class="bu" style="clear:both;">'
    .$sJ.'</div>';
    //echo $prstring;
    //tlim bestimmen
    $part explode(".",$datum);
    //echo $ht." ";
    $at mktime(0,0,0,intval($dat[1]),intval($dat[0]),intval($dat[2]));
    //echo $at;
    if($dat[1]==1){
        
    $lt mktime(0,0,0,12,1,(date("Y")-1));
        
    $lt2 mktime(0,0,0,1,1,date("Y"));
    } else {
        
    $lt mktime(0,0,0,(date("n")-1),1,date("Y"));
        
    $lt2 mktime(0,0,0,date("n"),1,date("Y"));
    }
    if(
    date("j")>15){
        
    $lt=$lt2;
    }
        
    if(
    $at >=$lt){
    $sqld="INSERT INTO tl_data ( d_code, d_datum, d_ut, d_q, d_gruppen, d_flecken, d_A, d_B, d_C, d_D, d_E, d_F, d_G, d_H, d_J ) VALUE ( $code, '$datum', $ut$qu$g$sff$sA$sB$sC$sD$sE$sF$sG$sH$sJ );";
    //if($_SESSION['autosave']=="on"){
        
    $eintrag=$this->Database->prepare($sqld)->execute;
        
    //echo $sql;
    if($eintrag){
        
    $dailysave=1;
        }
    }
    }
    //}

    $this->Template->dailysave $dailysave;
    $this->Template->groupsave $groupsave;
    $this->Template->du $_REQUEST['du'];
    $this->Template->inst $_REQUEST['inst'];
        
            
        }
    }

    ?>
    Das Insert funktioniert übrigens noch nicht > das hatte ich früher mit mysql_query gelöst (hatte unter php 5.6 gefunzt). Hatte das mal so eingebaut, in Wiki DB-Klasse gesehen, dass dies in DB-Klasse offenbar über set funktioniert und eben gemerkt, dass auch das veraltet ist.

    Einen Teil der DB-Abfrage hatte ich bisher im Template drin (ich weiß ...), aber da hat die bisherige Ausgabe des vorher genannten Schnipsels funktioniert:

    PHP-Code:
    <?php $this->import('Database'); //deprecated > replace with doctrine?>
    <?php
    if($this->dailysave==1){ ?>
    <div style="height:22px;width:700px;clear:both;margin-bottom:1em;">
        <div style="float:left; width:160px; margin-right:15px;">&nbsp;</div>
        <div class="okmessage">Data have been saved in daily database</div></div>
    <?php }
    if(
    $this->groupsave==1){ ?>
    <div style="height:22px;width:700px;clear:both;margin-bottom:1em;">
        <div style="float:left; width:160px; margin-right:15px;">&nbsp;</div>
        <div class="okmessage">Data have been saved in group database</div></div>
    <?php }
    //endif;
    // Falls zurückgeleitet > instrument setzen
    if($this->inst){
        
    $code $this->inst;
    }
    // Im Objekt-Kontext
    $this->import('FrontendUser''User');
    $userid $this->User->id;

    //Informationen zum Observer
    $sql="SELECT * from tl_member WHERE id = ".$userid;
    echo 
    "<p style='clear:left;'>Observer:<br/>";
    $beo=$this->Database->prepare($sql)->execute();

    //$beo=mysql_fetch_row($beob);
    echo "[".$beo->id."] ".$beo->lastname." ".$beo->firstname.", ".$beo->city." (".strtoupper($beo->country).")<br/>";
    ...
    > ergibt Ausgabe der Daten dieses Mitglieds

    Klar gehören die Abfragen in das Modul, aber zuerst muss ich ja mal den DB-Zugang nach neuem Modell schaffen. Wenn ich im Modul zu Beginn den Block

    PHP-Code:
    $db=\Contao\System::getContainer()->get('database_connection'); 
    $this->import('FrontendUser''User'); 
    $userid $this->User->id
    $sql="SELECT * from tl_member WHERE id = ".$userid
    $beon->execute(); 
    $beod $beon->fetchAll(); 
    echo 
    "[".$beod->id."] ".$beod->lastname." ".$beon->firstname.", ".$beon->city." (".strtoupper($beon->country).")<br/>"
    Wie greife ich korrekt auf die Daten zu nach Modell DBAL?

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Uff, den Code würde ich dringend säubern. Außerdem gibst du dort in der compile Methode direkt Daten mit "echo" aus. Das solltest du so nicht machen. Die compile Methode eines Moduls sollte eigentlich nur das Haupt Template mit Daten befüllen - welches dann von der Parent generate Methode automatisch geparsed und ausgegeben wird.

  15. #15
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Dass dies der Säuberung bedarf ist mir klar – aber ich muss zuerst den Umbau des Datenzugriffs schaffen, weil Umzug auf 4.4/Php 7.3 dringlich ist. Säuberung ist dann als Nächstes vorgesehen ...

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Dann würde ich an deiner Stelle aber alles so lassen wie es ist. Und erst später im Zuge eines größereing Refactoring alles ggf. auf andere Datenbankzugriffsmethoden ändern.

  17. #17
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Wie lange werden denn die Datenbankzugriff über die DB-Klasse noch funktionieren?

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Die \Contao\Database Klasse wurde noch gar nicht deprecated. Nur einzelne Dinge davon. Siehe https://github.com/contao/contao/blo...o/Database.php

  19. #19
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Besten Dank. Dann fahr ich mal mit DB-Klasse weiter und knie mich in die Bundle-Entwicklung rein – das wäre ja dann eig. der konsequente Schritt.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •