Ich habe App mit alten Code - plain php und neuen Code - Symfony. Und wenn in der alten Klasse symfony Autoloader Coderuf, vielleicht fängt Klasse, wie Symfony sagte exctly zu nennen brauchte KlasseSymfony und plain php autoload Klasse
Ich habe app/old/core/classes/Locale.php
von alten Code, ohne Namensraum und app/src/AppBundle/Entity/Locale.php
von neuen Code, ist diese Einheit mit Namensraum
und in alten Code nenne ich statische Funktion locale aus alten Code, aber Symfony Aufruf Einheit, natürlich Einheit locale nicht diese statische Funktion haben, und ich habe Fehler
class Page
{
function replacePageTags($replace_arr)
{
// set brases for keys
$braced_arr = Array();
foreach($replace_arr as $key => $value) {
$braced_arr["{".$key."}"] = $value;
}
//this I have error
$this->content = Locale::replaceTags($this->content, $braced_arr);
}
}
Fehlermeldung:
Attempted to call an undefined method named "replaceTags" of class "Locale".
WHE I umfassen add Locale-Klasse Seite
include('Locale.php');
class Page
{
haben Fehler
Error: Cannot declare class Locale, because the name is already in use
Aber wenn ich zu Entität hinzufügen static function replaceTags($text, $replace_arr)
noch Fehler haben, vielleicht Symfony eine andere Locale nennen, aber ich nenne brauchen Gebietsschema aus alter Funktionalität, wie kann ich das tun?
vielleicht, weil dies in Komponisten in automatisch geladen Ich habe
"autoload": {
"psr-4": {
"": "src/"
}
aber alter Code nicht in src oder ich nicht
In einem anderen Entwickler weiß, haben nicht dieses Problem, ich habe PHP-Version 7.0.14, sie haben 7.0.8, vielleicht brauche ich wenig ph-Beschränkung, ich weiß nicht ( Wie man dringend benötigte Klasse in altem Code nennt oder dieses Problem behebt?
Bitte fügen Sie die tatsächliche Fehlermeldung zur Frage hinzu. Ist die Erweiterung [intl] (http://php.net/manual/en/book.intl.php) aktiviert? –
Fehlermeldung 'Versucht, eine undefinierte Methode mit dem Namen" replaceTags "der Klasse" Locale "aufzurufen.' Da symfony eine andere calss mit dem Namen Locale aufruft, denke ich –
Also, was ist mit der Erweiterung? Bestätigen Sie 'php -m | grep intl' gibt nichts zurück? –