PDA

View Full Version: Gelöst PHP Strenge Standards: Nur Variablen sollten durch Verweis übergeben



ctrenks
30-05-18, 17:09
Fehler nach Upgrade von VB bis 4.2.5 anschließend die neueste Version von VBET..

PHP Strenge Standards: Nur Variablen sollten durch Verweis übergeben in /xxxx/includes/vbenterprisetranslator_class_translator.php auf der Linie 410

ctrenks
02-06-18, 21:02
Irgendwelche Gedanken zu diesem Fehler, seine neu erscheinen, aber nicht oft?

vBET
04-06-18, 12:11
Wir prüfen es und senden Ihnen baldmöglichst Antworten.

vBET
04-06-18, 12:25
Schnelle Lösung für Ihr Problem:
1. Öffnen Sie die Datei includes/vbenterprisetranslator_class_translator.php
2. Finden

public function translateTextToDivide(&$toTranslate, $serie) {
3. Entfernen Sie aus der Zeile-Zeichen '&'
4. Gehe zu 2 (jeder übersetzer hat seine eigene version dieser Funktion, so müssen Sie entfernen Sie die Zeichen in mehreren stellen)

Einige Erklärungen - das Zeichen '&' erlaubt es, Wert, ohne Sie zu kopieren, so dass es Hinzugefügt wurde, aus performance-Gründen.
Da einige version von PHP die Sprache, die Kräfte zu übergeben, gibt es nur Variablen, nicht Werte zählen ad-hoc, wenn die Funktion aufgerufen wird). Dies ist sehr unpraktisch, da brauchen wir code ändern, an vielen Orten, und erstellen Sie temporäre Variablen, die nur für den Aufruf der Funktion, aber das ist, wie es funktioniert, so müssen wir aktualisieren unseren code.
Wir Gaben Ihnen den schnellen fix. Wir werden prüfen, wie die Funktion verwendet wird, und entscheiden, ist es besser, zu entfernen '&', oder erstellen Sie temporäre Variablen in einigen Orten.

ctrenks
04-06-18, 18:44
Danke, aber wenn die Leistung ein Problem, ich werde den Fehler als ein sehr kleines vorkommen, aber Danke für die Erklärung.

vBET
15-06-18, 22:25
Lösung ohne performance-Strafe enthalten sein wird in der neuen Version. Für quick-fix, bitte:
1. Öffnen Sie die Datei includes/vbenterprisetranslator_class_translator.php
2. Suche:

return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide(substr($toTranslate, $point), $serie);
3. Ersetzen durch:

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Gehe zu 2 (verschiedene übersetzer haben diesen code)

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translated to other languages supported by vBET Translator 4.10.1