kai345: Fachbuch OOP PHP 8

Beitrag lesen

problematische Seite

Danke für den Tipp. Ich habs beim Großen Fluss as bestellt. Kommt Dienstag und dann werde ich berichten.

Schade, zu spät.
Die Qualität der Code-Beispiele schreckt mich eher ab, und das, obgleich ich mich selbst als schlechten Programmierer sehe.
Ohne überhaupt auf OOP einzugehen, fällt mir schon bei flüchtigem(!) Anschauen einiges auf. Nicht alles nur „schlimme“ Fehler, aber es läßt darauf schließen, daß der Autor das Buch schon vor längerer Zeit geschrieben hat und nicht richtig auf den neuesten Stand bringt (bis auf den Titel).

  • clean_input() verwendet get_magic_quotes_gpc(). Dazu aus der PHP-Doku: Warning This function has been DEPRECATED as of PHP 7.4.0, and REMOVED as of PHP 8.0.0. Relying on this function is highly discouraged.
    Wie heiß das Buch noch gleich?

überhaupt kommt mir die Funktion clean_input() nicht sehr sinnvoll vor.

function clean_input($value)
{

 
 $value = htmlentities($value);
		// Removes any html from the string and turns it into < format
		$value = strip_tags($value);
		
 
	if (get_magic_quotes_gpc())
	{
		$value = stripslashes($value);
		
		// Gets rid of unwanted slashes
	}
		$value = htmlentities($value);
		
		// Removes any html from the string and turns it into < format
		
       $bad_chars = array( "{", "}", "(", ")", ";", ":", "<", ">", "/", "$" );
       $value = str_ireplace($bad_chars,"",$value);			
		return $value;
	
}

Hä?

  • HTML wird sehr oft per echo/print & Co ausgegeben, dann wieder durch Beenden des PHP-Codebereichs, inner- und außerhalb von Funktionen… alles wild durcheinander.
  • viele Konstrukte wie
  if (hier irgendein vergleich) {
    return true;
  } else {
    return false;
  }

statt return (hier irgendein vergleich);
Das ist Code auf Anfängerniveau.

  • veraltetes Javascript, z.B.
function getXMLHttp()
{
  var xmlHttp;
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer is different than the others
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Old browser? Upgrade today so you can use AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

Das ist schon sehr lange nicht mehr Zeitgemäß.

--
Stur lächeln und winken, Männer!