Struktura Projektu i Wytyczne do Zadań
Projekt wymaga, aby każde zadanie przestrzegało określonej struktury katalogów oraz zawierało testy jednostkowe. Takie podejście zapewnia organizację i spójność pracy nad projektem.
Struktura Katalogów Zadań
- Każde zadanie powinno mieć swój własny dedykowany folder.
- Folder dla zadania powinien znajdować się w ścieżce katalogu według wzorca:
tasks/task_X, gdzieXto numer zadania.
Przykład: dla zadania numer 1, katalog powinien być: tasks/task_01.
Wymagania Zadań
Każdy folder zadania powinien zawierać co najmniej dwa główne komponenty:
-
Pliki Implementacyjne (PHP): Obejmuje wszystkie niezbędne pliki PHP wymagane do zaimplementowania funkcjonalności zadania.
-
Testy Jednostkowe: Każde zadanie powinno mieć własne testy jednostkowe weryfikujące poprawność implementacji.
Pisanie Testów Jednostkowych
- Testy jednostkowe powinny być umieszczone w podkatalogu
testsw folderze zadania. - Użyj frameworka do testowania, takiego jak PHPUnit, do pisania testów.
- Każdy plik testowy powinien być nazwany w sposób wskazujący, którą część zadania testuje, np.
Task1Test.php.
Uruchamianie Testów
- Testy dla każdego zadania powinny być możliwe do uruchomienia z poziomu katalogu zadania, np. za pomocą komendy
phpunit tests/.
Przestrzegając tych wytycznych, praca nad każdym zadaniem będzie zorganizowana, co ułatwi zarządzanie projektami, przeglądanie kodu i współpracę.
Lista Zadań
-
Kalkulator
- Napisz prosty kalkulator wykonujący dodawanie dwóch liczb w PHP.
- Rozszerz kalkulator, aby obsługiwał odejmowanie, mnożenie i dzielenie.
-
Generator liczb losowych
- Stwórz skrypt generujący określoną liczbę losowych liczb.
-
Przelicznik temperatur
- Napisz skrypt konwertujący temperatury między stopniami Celsjusza a Fahrenheita.
-
Prosty serwer HTTP
- Użyj PHP do stworzenia serwera, który wyświetla wiadomość powitalną.
Operacje na Tablicach
-
Filtrowanie danych
- Napisz funkcję filtrującą tablicę liczb, pozostawiając tylko te większe od określonej wartości.
-
Sortowanie tablicy
- Napisz funkcję sortującą tablicę według określonego klucza.
-
Mapowanie tablicy
- Przekształć tablicę liczb na tablicę ich kwadratów.
Operacje na Stringach
-
Odwracanie stringa
- Napisz funkcję, która odwraca dany string.
-
Sprawdzanie palindromu
- Napisz funkcję sprawdzającą, czy dany string jest palindromem.
-
Frekwencja liter
- Napisz skrypt zliczający, jak często poszczególne litery pojawiają się w danym stringu.
Operacje na Plikach
-
Czytanie z pliku
- Napisz skrypt, który czyta dane z pliku i wyświetla je.
-
Zapis do pliku
- Napisz skrypt zapisujący dane wejściowe do pliku.
-
Monitorowanie folderu
- Utwórz skrypt monitorujący zmiany w folderze i logujący te zmiany.
Podstawy pracy z Sieciami i API
-
Klient HTTP
- Napisz klienta HTTP w PHP, który pobiera dane z publicznego API.
-
Prosta aplikacja CRUD
- Utwórz aplikację CRUD (Create, Read, Update, Delete) z użyciem PHP i dowolnego frameworka, np. Laravel.
Praca z Bazami Danych
-
Połączenie z MySQL
- Zrealizuj połączenie z bazą danych MySQL i wykonaj operację odczytu.
-
Tworzenie API z bazą danych
- Rozbuduj aplikację CRUD, by dane były przechowywane w MySQL.
-
Migracje bazy danych
- Napisz skrypt do zarządzania migracjami w bazie danych (tworzenie/usuwanie tabel).
Zaawansowane Zadania
-
Autentykacja użytkownika
- Dodaj system logowania i autentykacji użytkownika do aplikacji.
-
Zaawansowany serwer HTTP
- Stwórz zaawansowany serwer HTTP w PHP z obsługą różnych ścieżek i parametrów zapytania.