Wśród aktualnie zaimplementowanych funkcji znajdziemy array_merge_recursive, get_defined_functions, czy md5, którymi możemy się cieszyć po pobraniu biblioteki i dodaniu do nagłówka strony
<script src="php.default.min.js"></script>Zaznaczę, że na stronie phpjs.org znajdują się różne gotowe paczki funkcji, a także narzędzie do przygotowania własnej.
Funkcje od teraz można przetestować także w Yajs. Przy okazji dodania tej w/w biblioteki do aplikacji zrobiłem kilka zmian, prześledźmy je.
Przestrzeń nazw i konwencje nazewnictwa
Żeby lepiej zorganizować kod zrobiłem dwie rzeczy: wprowadziłem swoją przestrzeń nazw Yats w formie obiektu do którego przypisuję kolejne zmienne i funkcje, oraz rozszerzyłem konwencję nazewnictwa o quasi stałe (duże litery), oraz pusty jQuery.
Kolejka zdarzeń
Wspomniany pusty obiekt wykorzystuję przy kolejce zdarzeń z jQuery: .queue() i .dequeue(). Dzięki niej nie muszę dodawać do moich funkcji callback.
Spinner
Do zasygnalizowania pracy skryptu użyłem Spinner/spin.js, który służy tylko do tworzenia progress bar, ale z wieloma opcjami.
Obsługa błędów
Obsługa błędów to obowiązek przy poważnej aplikacji, a poza tym chciałem, żeby obsługiwała je konsola.
Ładowanie bibliotek
W elemencie odpowiadającym za ładowanie bibliotek, ciekawy chyba tylko jest element odpowiadająca za wprost przeciwną funkcję, wyładowywanie funkcji. Problem tkwi w tym, że raz załadowany skrypt (w tym przypadku z pomocą getScript) nie może zostać od tak wyłączony ze skryptu. Żeby uzyskać taki efekt trzeba usunąć wszystkie funkcje i zmienne.
Time i String pad
Tak rozległa definicja czasu to nie błąd. Teoretycznie mógłbym użyć toLocaleTimeString, ale tak jak sama nazwa mówi nie uzyskałbym u wszytkich użytkowników jednolitego efektu. Poza tym brak w tej metodzie milisekund. Naprawiając niedociągnięcia użytych metod to wyświetlenia godzin etc. zdefiniowałem funkcję zbliżoną do PHP-owego str_pad.
Brak komentarzy:
Prześlij komentarz