Vanilla
Przegląd
Vanilla PHP to czysty projekt PHP bez żadnego frameworka. Stanowi prosty punkt startowy dla niewielkich projektów, dając ci pełną kontrolę nad strukturą kodu z HTML, CSS, JavaScript i PHP.
Pierwsze kroki
Utwórz repozytorium z szablonu
Na pulpicie przejdź do zakładki Tools & Deployment. Kliknij przycisk "New Repository", wybierz szablon Vanilla PHP z listy rozwijanej, wpisz nazwę repozytorium i subdomenę, a następnie kliknij "Create Repository".
Sklonuj repozytorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Skonfiguruj bazę danych (opcjonalnie)
Jeśli używasz MySQL, pobierz dane logowania do bazy z phpMyAdmin (link na pulpicie) i zaktualizuj swoje pliki PHP:
$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';
Zacznij rozwijać
Edytuj pliki HTML, CSS, JavaScript i PHP bezpośrednio. Bez kroku buildu!
Wypchnij swoje zmiany
git add .
git commit -m "Initial setup"
git push origin main
Lokalny rozwój z Dockerem
Jeśli nie masz lokalnie zainstalowanego PHP, możesz użyć Dockera do uruchomienia lokalnego serwera PHP. Projekt zawiera Dockerfile z PHP 8.2 i Apache.
Wymagania wstępne
Zainstaluj Docker Desktop dla swojego systemu operacyjnego (Windows, Mac lub Linux).
Uruchamianie z Dockerem
# Zbuduj i uruchom kontener
docker build -t my-php-app .
docker run -p 8080:80 -v $(pwd):/var/www/html my-php-app
# Lub użyj szybkiej jednolinijkowej komendy do rozwoju
docker run --rm -p 8080:80 -v $(pwd):/var/www/html php:8.2-apache
Otwórz http://localhost:8080 w przeglądarce.
Struktura projektu
Gdzie znajdują się pliki:
├── index.php # Główny punkt wejścia
├── css/
│ └── style.css # Arkusze stylów
├── js/
│ └── script.js # Pliki JavaScript
├── includes/
│ ├── config.php # Konfiguracja bazy danych
│ ├── header.php # Wielokrotnie używany nagłówek
│ └── footer.php # Wielokrotnie używana stopka
├── images/ # Zasoby graficzne
├── Dockerfile # Konfiguracja buildu Docker
└── README.md # Dokumentacja projektu
Typowe zadania
Połączenie z bazą danych przez PDO
Utwórz wielokrotnie używane połączenie z bazą:
<?php
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
Zapytania do bazy danych
Używaj prepared statements dla bezpiecznych zapytań:
<?php
// Zapytanie SELECT
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
// Zapytanie INSERT
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute([$name, $email]);
?>
Dołączanie plików
Wielokrotnie używaj kodu między stronami:
<?php
include 'includes/header.php';
// Tutaj zawartość twojej strony
include 'includes/footer.php';
?>
Obsługa danych formularza
Bezpiecznie przetwarzaj żądania POST:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = htmlspecialchars($_POST['name'] ?? '');
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
// Przetwarzanie danych...
}
?>
Kluczowe technologie
PHP 8.2
Skryptowanie po stronie serwera z nowoczesnymi funkcjami PHP i obsługą MySQL/PDO.
HTML5
Buduj strukturę stron internetowych za pomocą semantycznych elementów HTML.
CSS3
Stylizuj swoje strony nowoczesnymi funkcjami CSS, takimi jak Flexbox i Grid.
JavaScript
Dodaj interaktywność za pomocą czystego JavaScript – bez bibliotek.
Rozwiązywanie problemów
Połączenie z bazą danych nie powiodło się
Przyczyna: Nieprawidłowe dane logowania do bazy lub baza danych jest niedostępna.
Rozwiązanie: Sprawdź swoje dane w phpMyAdmin (link na pulpicie). Upewnij się, że host, nazwa bazy, nazwa użytkownika i hasło są poprawne.
Błędy PHP nie są wyświetlane
Przyczyna: Raportowanie błędów jest wyłączone.
Rozwiązanie: Dodaj na początku swojego pliku PHP: ini_set('display_errors', 1); error_reporting(E_ALL);
Pusta biała strona
Przyczyna: Krytyczny błąd PHP przy wyłączonym raportowaniu błędów.
Rozwiązanie: Włącz raportowanie błędów (zobacz wyżej) lub sprawdź logi serwera. Typowe przyczyny: błędy składni, brakujące pliki lub niezdefiniowane funkcje.
CSS/JS się nie ładuje
Przyczyna: Nieprawidłowe ścieżki plików.
Rozwiązanie: Używaj ścieżek względnych względem twojego pliku HTML: href="css/style.css" lub bezwzględnych: href="/css/style.css"
Dane formularza nie są odbierane
Przyczyna: Nieprawidłowa metoda lub akcja formularza.
Rozwiązanie: Upewnij się, że twój formularz ma method="POST" oraz prawidłowy atrybut action wskazujący na twój plik PHP.
Proces wdrażania
Za każdym razem, gdy wypychasz kod do Git, twoja aplikacja jest automatycznie wdrażana:
Adres URL twojej wdrożonej aplikacji ma następujący format:
https://<your-subdomain>-<repo-name>.<session-domain>
Przykład: https://student01-module-a.demo.nstrim.app