Írjuk meg az első alkalmazást!
Ismerkedjünk meg együtt a Nette Frameworkkel, miközben létrehozunk egy egyszerű blogot hozzászólásokkal. Vágjunk bele!
Már az első két fejezet után lesz egy saját működő blogunk, és publikálhatjuk nagyszerű bejegyzéseinket, bár a funkciók egyelőre meglehetősen korlátozottak lesznek. Érdemes elolvasni a következő fejezeteket is, ahol beprogramozzuk a hozzászólások hozzáadását, a cikkek szerkesztését, és végül biztonságossá tesszük a blogot.
Ez az útmutató feltételezi, hogy elolvasta a Telepítés oldalt, és sikeresen előkészítette a szükséges eszközöket. Feltételezi továbbá, hogy érti az objektumorientált programozást PHP-ban.
Kérjük, használjon PHP 8.1-et vagy újabbat. A teljes alkalmazást megtalálja a GitHubon.
Üdvözlő oldal
Kezdjük egy új projekt létrehozásával a nette-blog
könyvtárba:
composer create-project nette/web-project nette-blog
Ebben a pillanatban a Web Project bevezető oldalának már működnie kellene. Próbáljuk ki a böngésző megnyitásával a következő URL címen:
http://localhost/nette-blog/www/
és látni fogjuk a Nette Framework bevezető oldalát:

Az alkalmazás működik, és elkezdheti a módosításokat.
Ha probléma merült fel, próbálja ki ezeket a tippeket.
A Web Project tartalma
A Web Project a következő struktúrával rendelkezik:
nette-blog/ ├── app/ ← alkalmazás könyvtára │ ├── Core/ ← működéshez szükséges alaposztályok │ ├── Presentation/ ← presenterek, sablonok & társai │ │ └── Home/ ← Home presenter könyvtára │ └── Bootstrap.php ← Bootstrap indító osztály ├── bin/ ← parancssorból futtatott szkriptek ├── config/ ← konfigurációs fájlok ├── log/ ← hibák naplózása ├── temp/ ← ideiglenes fájlok, cache, … ├── vendor/ ← Composerrel telepített könyvtárak │ └── autoload.php ← az összes telepített csomag autoloadingja └── www/ ← nyilvános könyvtár - az egyetlen elérhető a böngészőből └── index.php ← kezdőfájl, amellyel az alkalmazás elindul
A www/
könyvtár képek, JavaScript fájlok, CSS stílusok és más nyilvánosan elérhető fájlok tárolására
szolgál. Csak ez a könyvtár érhető el az internetről, ezért állítsa be az alkalmazás gyökérkönyvtárát úgy, hogy
ide mutasson (ezt beállíthatja az Apache vagy nginx konfigurációjában, de tegyük ezt később, most nem fontos).
A legfontosabb mappa számunkra az app/
. Itt találjuk a Bootstrap.php
fájlt, amelyben egy osztály
található, amely a teljes keretrendszer betöltésére és az alkalmazás beállítására szolgál. Itt aktiválódik az autoloading, beállítódik a debugger
és az útvonalak.
Takarítás
A Web Project tartalmaz egy bevezető oldalt, amelyet törlünk, mielőtt bármit is programozni kezdenénk. Nyugodtan
cseréljük le tehát az app/Presentation/Home/default.latte
fájl tartalmát “Hello world!”-re.

Tracy (debugger)
Rendkívül fontos eszköz a fejlesztéshez a Tracy hibakereső eszköz. Próbáljon
meg valamilyen hibát előidézni az app/Presentation/Home/HomePresenter.php
fájlban (pl. a HomePresenter osztály
definíciójában lévő kapcsos zárójel eltávolításával), és nézze meg, mi történik. Felugrik egy értesítő oldal,
amely érthetően leírja a hibát.

A Tracy óriási segítséget nyújt, amikor hibákat keresünk az alkalmazásban. Figyelje meg a képernyő jobb alsó sarkában lebegő Tracy Bart is, amely információkat tartalmaz az alkalmazás futásáról.

Éles (produkciós) módban a Tracy természetesen ki van kapcsolva, és nem jelenít meg semmilyen érzékeny információt.
Ebben az esetben minden hiba a log/
mappába kerül mentésre. Próbáljuk ki. Az app/Bootstrap.php
fájlban vegyük ki a kommentet a következő sorból, és változtassuk meg a hívás paraméterét false
-ra, hogy a
kód így nézzen ki:
...
$this->configurator->setDebugMode(false);
...
Az oldal frissítése után már nem látjuk a Tracy-t. Helyette egy felhasználóbarát üzenet jelenik meg:

Most nézzünk bele a log/
könyvtárba. Itt (az exception.log
fájlban) megtaláljuk a naplózott
hibát, valamint a már ismert hibaüzenetet tartalmazó oldalt (HTML fájlként mentve, amelynek neve exception-
-nel
kezdődik).
Kommenteljük vissza a // $configurator->setDebugMode(false);
sort. A Tracy automatikusan engedélyezi a
fejlesztői módot a localhoston, és letiltja mindenhol máshol.
A létrehozott hibát kijavíthatjuk, és folytathatjuk az alkalmazás írását.
Küldjön köszönetet
Mutatunk egy trükköt, amellyel örömet szerezhet az open source szerzőknek. Egyszerű módon adhat csillagot a GitHubon azoknak a könyvtáraknak, amelyeket a projektje használ. Csak futtassa:
composer thanks
Próbálja ki!