Ärgerlich PHP-Fehler: "Strenge Standards: Nur Variablen sollten durch Verweis übergeben, in"
Habe ich dieses kleine script gemacht und ich kann diese Fehlermeldung erhalten:
Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\includes\class.IncludeFile.php on line 34" off!
Hier ist die Seite:
namespace CustoMS;
if (!defined('BASE'))
{
exit;
}
class IncludeFile
{
private $file;
private $rule;
function __Construct($file)
{
$this->file = $file;
$ext = $this->Extention();
switch ($ext)
{
case 'js':
$this->rule = '<script type="text/javascript" src="'.$this->file.'"></script>';
break;
case 'css':
$this->rule = '<link type="text/css" href="'.$this->file.'">';
break;
}
}
private function Extention()
{
return end(explode('.', $this->file));
}
function __Tostring()
{
return $this->rule;
}
}
Bitte helfen Sie mir.
- Welche ist die Zeile 34?
- Haben Sie geprüft, Zeile 34? Haben Sie überprüft, die Dokumentation über das, was Sie tun, auf der Linie 34? Sie verstehen, wie Referenzen funktionieren?
- möglich, Duplikat der Strenge Standards: Nur Variablen sollten durch Verweis übergeben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Funktion
end
hat folgenden Prototypend(&$array)
.Vermeiden Sie diese Warnung, indem Sie die Erstellung von Variablen und übergeben es an die Funktion.
Aus der Dokumentation:
explode
gibt ein array zurück, nicht eine Referenz auf array.Beispiel:
end
wirft den Fehler. Es erwartet Bearbeitung einer Referenz (&$array
).end() setzt den Zeiger-array das Letzte element. Hier stellen Sie dem Ergebnis einer Funktion zu
end
eher als eine variable.