01. Atgriežoties pie bijušā

Pagājušajā mācību gadā izveidojām veselu PHP ietvaru, viedojot CRUD blogu. Laiks to daļēji atgūt un uzlabot ar PHP klasēm!

Turklāt vai zini, kā programmēšanas valoda C++ ieguva savu nosaukumu? Sākumā bija C, bet, kad tai pievienoja iespēju veidot klases, radās C++. Tieši tāpēc šo projektu sauksim blog++ jeb blogpp!

Pats pamats

Vispirms nepieciešams izveidot pamatprojektu, kurš līdzināsies pagājušā gada darbam.

  1. Izveido direktoriju jeb mapi blogpp
  2. Izveido tajā index.php datni ar saturu:
    
    <?php
    
    require "router.php";
                  
  3. Izveido veco labo maršrutētāju router.php:
    
    <?php
    $uri = parse_url($_SERVER["REQUEST_URI"])["path"];
    
    $routes = require("routes.php");
    
    if (array_key_exists($uri, $routes)) {
      require $routes[$uri];
    } else {
      http_response_code(404);
      echo "

    Lapa nav atrasta!

    "; exit(); }

    Pirms doties tālāk, ir vērts atcerēties, ko dara katra rindiņa. Droši ņem palīgā kādu LLM (lielo valodas modeli, piemēram, ChatGPT)!

  4. Izveido routes.php, kurš atgriež tukšu masīvu:
    
    <?php
    
    return [
    ];
                  
  5. Izvēlies projektu blogpp par Document Root vai nu Laragon vai MAMP, startējot Apache WEB Server un MySQL dzini
  6. Pārliecinies, ka redzi tekstu Lapa nav atrasta! interneta pārlūkprogrammā dodoties uz http://localhost/

Trakais .htaccess

  1. Pievieno datni .htaccess
  2. Ievieto tās saturu:
    
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !\.(css|js|png|jpg)$ [NC]
    RewriteRule ^ index.php [QSA,L]
                    
  3. Pārlūkprogrammā dodies uz neeksistējošu maršrutu http://localhost/none un pārliecinies, ka redzi tekstu Lapa nav atrasta!

    Ja saņem negaidītu paziņojumu, kurš aptuveni ir Not Found. The requested URL was not found on this server., pajautā LLM (piemēram, ChatGPT), kā Laragon vai MAMP rediģēt httpd.conf datni, bet esi ļoti uzmanīgs! Tās saturu mainot, kļūda var nogalināt Laragon vai MAMP!

Kontrolieri un skati

Laiks izveidot vietu kontrolieriem, kas atbildēs par loģiku, un skatiem, kuri glabās sevī to, ko attēlosim lietotājam.

  1. Izveido mapi controllers, kurā izveido apakšmapi blog
  2. controllers/blog mapē izveido datni index.php ar saturu:
    
    <?php
    
    require "views/blog/index.view.php";
                   
  3. Izveido mapi views, kurā arī ir apakšmape blog
  4. Mapē views/blog izveido datni index.view.php:
    
    <!DOCTYPE html>
    <html lang="lv">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Visi ieraksti</title>
    </head>
    <body>
      <h1>Visi bloga ieraksti</h1>
    </body>
    </html>
                  
  5. Pievieno maršrutu /, kurš atgriež kontrolieri controllers/blog/index.php
  6. Pārliecinies, ka nu pārlūkprogrammā redzams Visi bloga ieraksti

✅ Pamatprojekts ir atgūts - tieši tāds, kādu to pagāšgad atstājām (tikai drusku mazāks). Laiks to sabarot ar steroīdiem un iegūt blog++! 🤯