Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielkość pliku z definicjami tłumaczeń
Forum PHP.pl > Forum > PHP
Black-Berry
W moim cms-sie używam tylko jednego pliku do tłumaczen. Każde tłumaczenie to definicja np:

  1. <?php
  2. define( "_COM_USERS_REGISTER_NIP_", "NIP:" );
  3. define( "_COM_USERS_REGISTER_POST_CODE_", "Kod pocztowy:" );
  4. define( "_COM_USERS_REGISTER_TOWN_", "Miejscowość:" );
  5. define( "_COM_USERS_REGISTER_ADDRESS_", "Adres:" );
  6. define( "_COM_USERS_REGISTER_PHONE_", "Telefon:" );
  7. define( "_COM_USERS_REGISTER_HOMEPAGE_", "Strona www:" );
  8. ?>

Chciałbym się dowiedzieć czy to nie jest zbyt nieoptymalne rozwiązanie. Zakładam, że takich definicji będzie około 2 tysięcy. Czy parser waszym zdaniem to wytrzyma ? Czy nie spowolni to znacznie jego działania?
Cezar708
liczba plików versus ich wielkość jest częstym problemem. Proponuję rozbić plik na kilka mniejszych. Poszczególne pliki to niech to będą tłumaczenia do konkretnych modułów, a idealnie byłoby gdyby ładował się tylko 1 potrzebny w danym momencie z minimalną liczbą danych.

wiem, że ogólnie, ale pytanie też nie było konkretne
Black-Berry
Tak wlaśnie myślałem, ale jeden plik bardzo ułatwia życie. Może ktoś robił testy przy jakiej wielkości pliku z definicjami zaczynają się problemy ?
najtje
To już zależy od tego jaką wydajność chcesz utrzymać.
Proponuję samodzielnie zrobić takie testy używając np polecenia ab (apache benchmark).
Tzn. najlepiej stworzyć jakąś prostą stronkę, stworzyć np dosyć duży plik z tłumaczeniami i zainkluduj(teksty nie muszą być realne ani wykorzystywane na tej stronie, ważne że będą zapisywane w sposób zbliżony do twojego)
Sprawdź dla wielkości 50kb, 100kb i 200kb itd. jak się zachowuje serwer (ile odpowiedzi jesteś w stanie uzyskać).

Serwer (php) ma ustawiony limit pamięci ale metodą define tak szybko chyba tego nie zapchasz, ale trzeba się też liczyć z taką ewentualnością.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.