![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
to mój pierwszy post na tym forum. Gdy zachowam się nieodpowiednio, dajcie znać. Piszę skrypt, który dużo liczy. Bardzo dużo. Cała jego idea opiera się na pętlach for oraz if. Chciałem uprościć skrypt i go zautomatyzować (zmienna liczba pętli). Idea: CODE for(..) { if(warunek) { for(..) { (dalej ciąg if/for) }} else { break }} Chciałem użyć modułów w postaci funkcji wywoływanych. CODE for(..) { if(..) { funkcja(); } else { break } funkcja() { for(..) { if(..) { funkcja2(); } else { funkcji3(); } }} itd Czy takie zastosowanie jest poprawne. Jakie może mieć wady. Jak przenieść globalnie wartości zmiennych (parametr global?) Oczywiście istnieje też funkcja przerywająca np. funkcja5() Z góry dzięki za pomoc. Jeśli mało czytelne mogę jakoś próbować to rozjaśnić pod względem idei;) Ten post edytował limonka 26.10.2011, 22:48:54 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Używaj znaczników php, a nie code.
2. PHP nie jest najlepszy do wykonywania długich skryptów. Domyślnie po 30 albo 60 sekundach przerwie Ci go. 3. Zmiennych globalnych się już nie używa. 4. Powiedz coś więcej na temat skryptu, który ma coś liczyć. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@up
ad. 2. To nie jest do końca prawda - można to przecież zmienić na serwie lub poprzez chociażby set_time_limit() - oczywiście używać należy z rozwagą. (Co do tego że PHP to nie najlepszy kombajn do liczenia się zgadzam) (IMG:style_emoticons/default/smile.gif) Możesz skorzystać ze statycznych właściwości klas zamiast zmiennych globalnych na przykład, zrobić tzw. rejestr i trzymać w nim wszystkie potrzebne zmienne a także operować na nich. Najprostsze możliwe rozwiązanie:
Ogólnie do tematu można podejść wieloma drogami, można dać singleton itp. Użycie zmiennych globalnych w ostateczności też ujdzie ale popieram przedmówcę, że rzadko się już to stosuje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 05:51 |