PDA

View Full Version: Rezolvate PHP standarde stricte: Numai variabile trebuie transmise prin referinţă



ctrenks
30-05-18, 17:09
Eroare după actualizarea VB la 4.2.5 apoi Ultima versiune de VBET...

PHP standarde stricte: Numai variabile trebuie transmise prin referință în /xxxx/includes/vbenterprisetranslator_class_translator.php pe linia 410

ctrenks
02-06-18, 21:02
Orice gândurile pe această eroare, sa re - apare, dar nu de multe ori?

vBET
04-06-18, 12:11
Vom investiga şi trimite să răspundeţi cât mai curând.

vBET
04-06-18, 12:25
Remediere rapidă pentru problema ta:
1. Deschide fisierul includes/vbenterprisetranslator_class_translator.php
2. găsiţi

public function translateTextToDivide(&$toTranslate, $serie) {
3. Eliminare din semnul linie '&'
4. Du-te la 2 (Traducător fiecare are propria versiune de această funcţie, astfel încât aveţi nevoie pentru a elimina semnul în mai multe locuri)

Unele explicaţii - semnul '&' permite să treacă valoarea fără copiindu-l astfel încât să a fost adăugată pentru motive de performanţă.
Deoarece unele versiuni de PHP limba forţele pentru a trece acolo numai variabile (valorile nu conta ad-hoc, atunci când funcţia este numit). Acest lucru este foarte incomod, pentru că avem nevoie pentru a schimba codul în multe locuri şi de a crea variabile temporară doar pentru asteptare funcţia, dar că este modul în care funcţionează acum, aşa că va trebui să actualizaţi codul nostru.
Am dat rapida. Vom verifica modul în care funcţia este utilizată şi decide, este mai bine pentru a elimina '&' sau pentru a crea variabile temporare în unele locuri.

ctrenks
04-06-18, 18:44
Vă mulţumesc, dar dacă este o problemă de performanţă va permite eroarea ca acesta este un eveniment foarte mici dar vă mulţumesc pentru explicaţii.

vBET
15-06-18, 22:25
Soluţie fără pedeapsă de performanţă vor fi incluse în noua versiune. Pentru rapida, vă rugăm să:
1. Deschide fisierul includes/vbenterprisetranslator_class_translator.php
2. Căutare:

return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide(substr($toTranslate, $point), $serie);
3. Înlocuiţi de:

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Du-te la 2 (mai mulţi traducători au acest cod)

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