PDA

Επιστροφή στο Forum: Solved PHP Αυστηρά Πρότυπα: Μόνο μεταβλητές πρέπει να περάσει από την αναφορά



ctrenks
30-05-18, 17:09
Το σφάλμα μετά την αναβάθμιση 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
Translations by vBET translator 4.10.1