PDA

View Full Version: Решени Строги стандарти за PHP: Само променливи трябва да бъдат предадени по референция



ctrenks
30-05-18, 17:09
Грешка след upgrading VB да 4.2.5 тогава Последната версия на VBET...

Строги стандарти за PHP: Само променливи трябва да бъдат предадени по референция в /xxxx/includes/vbenterprisetranslator_class_translator.php ред 410

ctrenks
02-06-18, 21:02
Всеки мисли за тази грешка, неговата ре - явявам се но не често?

vBET
04-06-18, 12:11
Ние ще го разследват и изпраща ви отговор скоро.

vBET
04-06-18, 12:25
Бързо решение за вашия проблем:
1. Отваряне на файла includes/vbenterprisetranslator_class_translator.php
2. Намерете

public function translateTextToDivide(&$toTranslate, $serie) {
3. Премахване от линията знака "&"
4. отидете на 2 (всеки преводач има своя собствена версия на тази функция, така че вие трябва да премахнете знака на няколко места)

Някои обяснение - знака "&" позволява да премине стойност без да го копирате, така че е добавен по причини за ефективност.
Тъй като някои версия на PHP език сили да премине там само променливи (не стойности брои ad hoc, когато функцията се нарича). Това е много неудобно, защото ние трябва да промените кода на много места и създаване на временни променливи само за извикване на функция, но това е как работи сега, така че ние ще трябва да се актуализира нашия код.
Ние ще ви даде бърз прикрепвам. Ние ще провери как се използва функцията и да реши, е по-добре да премахнете "&" или създаване на временни променливи в някои места.

ctrenks
04-06-18, 18:44
Благодаря ви, но ако изпълнението е проблем, ще позволи грешка, тъй като това е много малка явление но ти благодаря за обяснението.

vBET
15-06-18, 22:25
Решение без изпълнение наказание ще бъдат включени в новата версия. За бързо решение, моля:
1. Отваряне на файла includes/vbenterprisetranslator_class_translator.php
2. Търсене:

return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide(substr($toTranslate, $point), $serie);
3. Заменя се с:

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. отидете на 2 (няколко преводачи имат този код)

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