PDA

Visualizza la versione completa: Risolto PHP Norme Rigorose: Solo le variabili devono essere passati per riferimento



ctrenks
30-05-18, 17:09
Errore dopo l'aggiornamento VB 4.2.5 quindi ultima versione di VBET..

PHP Norme Rigorose: Solo le variabili devono essere passati per riferimento /xxxx/includes/vbenterprisetranslator_class_translator.php on line 410

ctrenks
02-06-18, 21:02
Ogni pensiero su questo errore, il suo apparire, ma non spesso?

vBET
04-06-18, 12:11
Indagheremo e inviare risposta al più presto.

vBET
04-06-18, 12:25
Quick fix per il tuo problema:
1. Apri file includes/vbenterprisetranslator_class_translator.php
2. Trovare

public function translateTextToDivide(&$toTranslate, $serie) {
3. Rimuovere dalla linea segno '&'
4. Vai a 2 (ogni traduttore ha la sua versione di questa funzione, quindi è necessario rimuovere il segno in diversi luoghi)

Qualche spiegazione, segno '&' il passaggio di valore senza copiarlo così è stato aggiunto per motivi di prestazioni.
Dal momento che una qualche versione di PHP il linguaggio forze per passare solo le variabili (non conteggio dei valori ad hoc quando la funzione viene chiamata). Questo è molto scomodo, perché abbiamo bisogno di cambiare il codice, in molti luoghi, e creare le variabili temporanee solo per la chiamata di funzione, ma che è come funziona ora, quindi dovremo aggiornare il nostro codice.
Abbiamo dato una rapida correzione. Noi verificheremo come viene utilizzata la funzione e decidere, è meglio rimuovere '&' o creare variabili temporanee in alcuni luoghi.

ctrenks
04-06-18, 18:44
Grazie, ma se le prestazioni non è un problema, mi consentirà l'errore come una piccola occorrenza, ma Grazie per la spiegazione.

vBET
15-06-18, 22:25
Soluzione senza prestazioni punizione sarà incluso nella nuova versione. Per la correzione rapida, si prega di:
1. Apri file includes/vbenterprisetranslator_class_translator.php
2. Cerca:

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

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Vai a 2 (diversi traduttori di questo codice)

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