PDA

View Full Version: Løst PHP Strenge Standarder: Kun variabler, bør videregives ved henvisning



ctrenks
30-05-18, 17:09
Fejl efter opgradering af VB til at 4.2.5 derefter nyeste version af DIN..

PHP Strenge Standarder: Kun variabler, bør videregives ved henvisning /xxxx/includes/vbenterprisetranslator_class_translator.php on line 410

ctrenks
02-06-18, 21:02
Nogen tanker om denne fejl, dens re -vist, men ikke ofte?

vBET
04-06-18, 12:11
Vi vil undersøge det og sende dig svar snart.

vBET
04-06-18, 12:25
Hurtig løsning på dit problem:
1. Åbn fil includes/vbenterprisetranslator_class_translator.php
2. Finde

public function translateTextToDivide(&$toTranslate, $serie) {
3. Fjern fra linje tegnet '&'
4. Gå til 2 (hver oversætteren har sin egen version af denne funktion, så du er nødt til at fjerne log ind flere steder)

Nogle forklaring - tegnet '&' tillader at passere værdi uden at kopiere det, så det blev tilføjet af hensyn til ydeevnen.
Da nogle version af PHP-sproget tvinger til at videregive, at der kun variabler (ikke værdier, der tæller ad hoc, når funktionen kaldes). Dette er meget generende, fordi vi er nødt til at ændre koden på mange steder og skabe midlertidige variabler kun for opkald funktion, men det er sådan det fungerer nu, så vi bliver nødt til at opdatere vores kode.
Vi gav dig hurtig løsning. Vi vil undersøge, hvordan funktionen bruges, og beslutter, er det bedre at fjerne '&' eller oprette midlertidige variabler i nogle steder.

ctrenks
04-06-18, 18:44
Tak, men hvis performance er et problem, jeg vil give fejl som dens en meget lille forekomst, men Tak for forklaringen.

vBET
15-06-18, 22:25
Løsning uden ydeevne straf vil blive medtaget i nye udgivelse. For hurtigt fix, kan du:
1. Åbn fil includes/vbenterprisetranslator_class_translator.php
2. Find:

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

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Gå til 2 (af flere oversættere, der har denne kode)

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