Ich brauche feedback!!

2low

Grünschnabel
Also mir ist gerade eine funktion eingefallen die ich mit euch teilen will
und die meinungen lesen ( kritik ist erwünscht )

PHP:
<?php

/*   Install Functions File   */


class mainInstaller {
	
	var $sql;
	
	// LOADS INSTALLATION FILES AND INSTALL DATA IN MYSQL DATABASE
	function __initSQL() {
		$installFiles = scandir('install', 1); // SCANS INSTALL DIRECTORY FOR INSTALLATION FILES
		$countFiles = count($installFiles); // COUNT INSTALLATION FILES 
		//print_r($installFiles);
		
		// RUNS ALL FILES AND INSTALL THE DATA 
		for($i = 0; $i < $countFiles; $i++) {
			if($installFiles[$i] == '.' or $installFiles[$i] == '..') {
			        print 'ERROR COMING SOON';
			}else{
				$sqlFile = file_get_contents('install/'.$installFiles[$i]); // LOAD SQL INSTALL  COMMAND
				//INSTALL
				$sqlQuery = mysql_query($sqlFile) or die ('The File isn\'t a MySql Installation File, Please look at {{SITEURL}} for more Information.<br />'.mysql_error());
				// ERROR CHECK
				if(!$sqlQuery) {
					print 'The File isn\'t a MySql Installation File, Please look at {{SITEURL}} for more Information.<br />'; // ERROR MSG wrong InstallFile
					die();
				}else{
					// SUCCESS MESSAGE
					print 'File :: '.$installFiles[$i].' has been called successful :: <a href="index.php?update">Insert Content</a>  <br />';
				}
			}
		}
	}
}

?>

Die funktion soll nach dateien in dem "Install" Ordner suchen und sie halt in die MySql Datenbank installieren

und mit viel stolz sage ich Funktioniert 100%

:)
 
Hmm, ok, hier mal was mir auffällt.

  • Warum noch auf PHP4 Syntax?
  • Warum gibt es eine Klasse die nur eine Funktion beinhaltet? Dafür lohnt sich die Klasse meiner Meinung nach nicht.
PHP:
if(!$sqlQuery) {
                    print 'The File isn\'t a MySql Installation File, Please look at {{SITEURL}} for more Information.<br />'; // ERROR MSG wrong InstallFile
                    die();
                }
Dir ist schon klar, dass dieser Teil NIE ausgeführt wird?
Wenn das Query fehl schlägt, dann bricht ja bereits in der Zeile darüber "...or die("..")" den Prozess ab, ist also ein unnötiger Ballast.
  • Es gibt keine Fehlerbehandlung für den Fall, dass die Datei nicht geöffnet werden kann, aufgrund von Berechtigungsproblemen.
PHP:
if($installFiles[$i] == '.' or $installFiles[$i] == '..') {
                    print 'ERROR COMING SOON';
            }
Wenn die Methode für das Ausführen von SQL Dateien da ist, sollte diese Abfrage hier nichts zu suchen haben. Viel eher würde ich eine eigene scandir() Funktion in der Klasse anbieten, die auch nur die gewollten Dateien raussucht.
  • Wie arbeitet scanfiles()?
  • Die Klasse bietet sich nicht für mehrsprachige Applikationen an, da die Texte festgeschrieben sind. Viel eher sollte man mit booleschen Werten arbeiten, die von der Applikation selbst verarbeitet werden.

Und einige Fragen...
 
Ich danke dir

die klasse wird noch weitere funktionen beinhalten (war ein fehler im "Copy & Paste" ):confused:

Ich hab vor 3 Monaten PHP angefangen und das mit php4 aber seit kürzeren habe ich die neuste version von wamp das php5 unterstütz also sehe ich mich nach php5 um

was ich aber tun wollte ist das man die dateien aussuchen kann diese ist nur was ich für gestern schnell fertig gemacht

danke
 
Zuletzt bearbeitet:
Zurück