Apžvalga

Vanilla PHP yra paprastas PHP projektas be jokio karkaso. Jis suteikia švarų atspirties tašką paprastiems projektams, leisdamas pilnai valdyti kodo struktūrą su HTML, CSS, JavaScript ir PHP.

Prieš pradėdami
Įsitikinkite, kad jūsų valdymo skydelis atidarytas - jums reikės ten rodomų Git prisijungimo duomenų. Šiame šablone yra PHP su MySQL/PDO palaikymu per Apache.

Greitas startas

1

Sukurkite repozitoriją iš šablono

Valdymo skydelyje pereikite į skirtuką Tools & Deployment. Spauskite mygtuką "New Repository", išskleidžiamame sąraše pasirinkite Vanilla PHP šabloną, įveskite repozitorijos pavadinimą ir subdomeną, tada spauskite "Create Repository".

2

Klonuokite savo repozitoriją

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Sukonfigūruokite duomenų bazę (neprivaloma)

Jei naudojate MySQL, gaukite duomenų bazės prisijungimo duomenis iš phpMyAdmin (nuoroda valdymo skydelyje) ir atnaujinkite savo PHP failus:

$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';
4

Pradėkite kurti

Redaguokite HTML, CSS, JavaScript ir PHP failus tiesiogiai. Jokio kompiliavimo žingsnio nereikia!

5

Įkelkite savo pakeitimus

git add .
git commit -m "Initial setup"
git push origin main
Kiekvienas push į Git automatiškai įdiegia jūsų aplikaciją. Patikrinkite Modulio darbo URL valdymo skydelyje, kad pamatytumėte savo gyvą svetainę.

Vietinis kūrimas su Docker

Jei vietoje neturite įdiegto PHP, galite naudoti Docker vietiniam PHP serveriui paleisti. Projekte yra Dockerfile su PHP 8.2 ir Apache.

Kas yra Docker?
Docker sukuria izoliuotus „konteinerius" su visa reikalinga programine įranga (PHP, Apache, MySQL plėtiniais) jos neįdiegiant į jūsų kompiuterį. Įsivaizduokite tai kaip lengvą virtualią mašiną.

Reikalavimai

Įdiekite Docker Desktop savo operacinei sistemai (Windows, Mac arba Linux).

Paleidimas su Docker

# Sukompiliuoti ir paleisti konteinerį
docker build -t my-php-app .
docker run -p 8080:80 -v $(pwd):/var/www/html my-php-app

# Arba naudokite greitą vienos eilutės komandą kūrimui
docker run --rm -p 8080:80 -v $(pwd):/var/www/html php:8.2-apache

Naršyklėje atidarykite http://localhost:8080.

Pastaba
Docker yra neprivalomas vietiniam kūrimui. NStrim platforma diegimą tvarko automatiškai - Docker reikia tik tuomet, jei norite paleisti PHP vietoje neįdiegę jo.

Projekto struktūra

Kur yra failai:

├── index.php             # Pagrindinis įėjimo taškas
├── css/
│   └── style.css         # Stiliai
├── js/
│   └── script.js         # JavaScript failai
├── includes/
│   ├── config.php        # Duomenų bazės konfigūracija
│   ├── header.php        # Daugkartinis antraštės failas
│   └── footer.php        # Daugkartinis poraštės failas
├── images/               # Paveikslėlių resursai
├── Dockerfile            # Docker kompiliavimo konfigūracija
└── README.md             # Projekto dokumentacija
        

Įprastos užduotys

Prisijungimas prie duomenų bazės su PDO

Sukurkite daugkartinį duomenų bazės prisijungimą:

<?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());
}
?>

Užklausos į duomenų bazę

Naudokite paruoštus pareiškimus saugioms užklausoms:

<?php
// SELECT užklausa
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);

// INSERT užklausa
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute([$name, $email]);
?>

Failų įtraukimas

Pakartotinai naudokite kodą įvairiuose puslapiuose:

<?php
include 'includes/header.php';
// Jūsų puslapio turinys čia
include 'includes/footer.php';
?>

Formos duomenų tvarkymas

Saugiai apdorokite POST užklausas:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = htmlspecialchars($_POST['name'] ?? '');
    $email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);

    // Apdoroti duomenis...
}
?>

Pagrindinės technologijos

PHP 8.2

Serverio pusės skriptavimas su moderniomis PHP funkcijomis ir MySQL/PDO palaikymu.

HTML5

Strukturizuokite savo žiniatinklio puslapius su semantiniais HTML elementais.

CSS3

Stilizuokite savo puslapius su moderniomis CSS funkcijomis, tokiomis kaip Flexbox ir Grid.

JavaScript

Pridėkite interaktyvumo su paprastu JavaScript - jokių bibliotekų nereikia.

Trikčių šalinimas

Nepavyko prisijungti prie duomenų bazės

Priežastis: Neteisingi duomenų bazės prisijungimo duomenys arba duomenų bazė nepasiekiama.

Sprendimas: Patikrinkite prisijungimo duomenis phpMyAdmin (nuoroda valdymo skydelyje). Įsitikinkite, kad serveris, duomenų bazės pavadinimas, vartotojo vardas ir slaptažodis yra teisingi.

PHP klaidos nerodomos

Priežastis: Klaidų ataskaitos išjungtos.

Sprendimas: PHP failo viršuje pridėkite: ini_set('display_errors', 1); error_reporting(E_ALL);

Tuščias baltas puslapis

Priežastis: PHP lemtinga klaida su išjungtomis klaidų ataskaitomis.

Sprendimas: Įjunkite klaidų ataskaitas (žr. aukščiau) arba patikrinkite serverio žurnalus. Dažnos priežastys: sintaksės klaidos, trūkstantys failai arba neapibrėžtos funkcijos.

CSS / JS neįsikrauna

Priežastis: Neteisingi failų keliai.

Sprendimas: Naudokite santykinius kelius nuo savo HTML failo: href="css/style.css" arba absoliučius kelius: href="/css/style.css"

Formos duomenys negaunami

Priežastis: Neteisingas formos metodas arba veiksmas.

Sprendimas: Įsitikinkite, kad jūsų forma turi method="POST" ir teisingą action atributą, nukreiptą į jūsų PHP failą.

Diegimo eiga

Kiekvieną kartą, kai įkeliate kodą į Git, jūsų aplikacija automatiškai įdiegiama:

Kodo pakeitimas git push Diegti į Apache Gyvai!

Jūsų įdiegtos aplikacijos URL atitinka šį formatą:

https://<your-subdomain>-<repo-name>.<session-domain>

Pavyzdys: https://student01-module-a.demo.nstrim.app

Daugiau informacijos rasite PHP dokumentacijoje ir MDN Web dokumentacijoje.