oktatas:web:back-end_framework:leaf:minimalis
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalonElőző változat | |||
oktatas:web:back-end_framework:leaf:minimalis [2024/09/16 23:20] – [Cors] admin | oktatas:web:back-end_framework:leaf:minimalis [2025/08/01 10:45] (aktuális) – eltávolítva admin | ||
---|---|---|---|
Sor 1: | Sor 1: | ||
- | [[oktatas: | ||
- | |||
- | ====== Leaf minimális ====== | ||
- | |||
- | * **Szerző: | ||
- | * Copyright (c) 2024, Sallai András | ||
- | * Licenc: [[https:// | ||
- | * Web: https:// | ||
- | |||
- | ===== Projekt készítése ===== | ||
- | |||
- | mkdir app01 | ||
- | cd app01 | ||
- | |||
- | ===== A leaf telepítése ===== | ||
- | |||
- | Telepítjük az aktuális könyvtárba a Leaf-t a vendor könyvtárba. | ||
- | composer require leafs/leaf | ||
- | |||
- | A parancs után létrejön egy **vendor** nevű könyvtár. A leaf ebbe könyvtárba kerül függőségként. | ||
- | |||
- | |||
- | |||
- | ===== Szoftver ===== | ||
- | |||
- | Szükségünk van egy $app objektumra, amivel létrehozhatjuk az útválsztást: | ||
- | |||
- | <code php index.php> | ||
- | <?php | ||
- | |||
- | require __DIR__ . '/ | ||
- | |||
- | $app = new Leaf\App; | ||
- | |||
- | $app-> | ||
- | $app-> | ||
- | }); | ||
- | |||
- | $app-> | ||
- | |||
- | </ | ||
- | |||
- | Az $app objektum helyett használhatjuk az app() függvényt: | ||
- | |||
- | <code php index.php> | ||
- | <?php | ||
- | |||
- | require __DIR__ . '/ | ||
- | |||
- | |||
- | app()-> | ||
- | response()-> | ||
- | }); | ||
- | |||
- | app()-> | ||
- | |||
- | </ | ||
- | |||
- | ===== Fejlesztői szerver ===== | ||
- | |||
- | php -S localhost: | ||
- | |||
- | ===== Tesztelés ===== | ||
- | |||
- | Tesztelés HTTPie kliens segítségével: | ||
- | |||
- | http localhost: | ||
- | |||
- | |||
- | |||
- | ===== Controller ===== | ||
- | |||
- | Hozzunk létre, például a projekt gyökérkönyvtárában egy EmplyoeeController.php fájlt: | ||
- | |||
- | <code php EmployeeController.php> | ||
- | <?php | ||
- | |||
- | class EmployeeController { | ||
- | public function index() { | ||
- | response()-> | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code php index.php> | ||
- | <?php | ||
- | require __DIR__ . '/ | ||
- | |||
- | $app = new Leaf\App; | ||
- | |||
- | require " | ||
- | |||
- | $app-> | ||
- | |||
- | $app-> | ||
- | </ | ||
- | |||
- | ===== Külön routing ===== | ||
- | |||
- | <code php index.php> | ||
- | <?php | ||
- | require __DIR__ . '/ | ||
- | require ' | ||
- | app()-> | ||
- | </ | ||
- | |||
- | <code php api.php> | ||
- | <?php | ||
- | |||
- | require " | ||
- | |||
- | $app = new Leaf\App; | ||
- | $app-> | ||
- | |||
- | </ | ||
- | |||
- | <code php EmployeeController.php> | ||
- | <?php | ||
- | |||
- | class EmployeeController { | ||
- | public function index() { | ||
- | response()-> | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ===== Adatbázis ===== | ||
- | |||
- | < | ||
- | composer require leafs/db | ||
- | </ | ||
- | |||
- | ==== SQLite ==== | ||
- | |||
- | <code php> | ||
- | db()-> | ||
- | ' | ||
- | ' | ||
- | ]); | ||
- | </ | ||
- | |||
- | ==== MariaDB ==== | ||
- | |||
- | <code php> | ||
- | // syntax | ||
- | db()-> | ||
- | </ | ||
- | |||
- | Lekérdezés: | ||
- | <code php> | ||
- | $emps = db()-> | ||
- | </ | ||
- | |||
- | |||
- | <code mysql> | ||
- | drop table if exists employees; | ||
- | create table employees ( | ||
- | id int unsigned not null primary key auto_increment, | ||
- | name varchar(50), | ||
- | city varchar(50), | ||
- | salary double, | ||
- | created_at timestamp default current_timestamp, | ||
- | updated_at timestamp default current_timestamp on update current_timestamp | ||
- | ); | ||
- | </ | ||
- | |||
- | ===== CRUD műveletek ===== | ||
- | |||
- | ==== Kontroller ==== | ||
- | |||
- | Célszer a kontrollerek számára készíteni egy app/ | ||
- | |||
- | <code php app/ | ||
- | <?php | ||
- | |||
- | class TodoController { | ||
- | public function __construct() { | ||
- | db()-> | ||
- | ' | ||
- | ' | ||
- | ]); | ||
- | } | ||
- | public function index() { | ||
- | $todos = db()-> | ||
- | response()-> | ||
- | } | ||
- | |||
- | public function create() { | ||
- | $res = db() | ||
- | -> | ||
- | -> | ||
- | -> | ||
- | |||
- | $id = db()-> | ||
- | $todo = db()-> | ||
- | response()-> | ||
- | } | ||
- | |||
- | public function update($id) { | ||
- | $res = db() | ||
- | -> | ||
- | -> | ||
- | -> | ||
- | -> | ||
- | $todo = db()-> | ||
- | response()-> | ||
- | } | ||
- | |||
- | public function delete($id) { | ||
- | $res = db() | ||
- | -> | ||
- | -> | ||
- | -> | ||
- | response()-> | ||
- | } | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | ==== Útválasztás ==== | ||
- | |||
- | <code php app/ | ||
- | <?php | ||
- | |||
- | require " | ||
- | |||
- | app()-> | ||
- | app()-> | ||
- | app()-> | ||
- | app()-> | ||
- | |||
- | </ | ||
- | |||
- | ===== Azonosítás ===== | ||
- | |||
- | ==== Függőség telepítése ==== | ||
- | |||
- | composer require leafs/auth | ||
- | |||
- | |||
- | ==== AuthController ==== | ||
- | |||
- | <code php app/ | ||
- | <?php | ||
- | |||
- | class AuthController { | ||
- | public function __construct() { | ||
- | auth()-> | ||
- | } | ||
- | |||
- | public function login() { | ||
- | $data = auth()-> | ||
- | ' | ||
- | ' | ||
- | ]); | ||
- | response()-> | ||
- | } | ||
- | public function register() { | ||
- | $data = auth()-> | ||
- | ' | ||
- | ' | ||
- | ], [' | ||
- | |||
- | if(!$data) { | ||
- | $data = auth()-> | ||
- | } | ||
- | response()-> | ||
- | |||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ==== Köztes szoftver ==== | ||
- | |||
- | <code php app/ | ||
- | <?php | ||
- | |||
- | auth()-> | ||
- | |||
- | app()-> | ||
- | $id = auth()-> | ||
- | if (!$id) { | ||
- | response()-> | ||
- | ' | ||
- | ' | ||
- | ], 401); | ||
- | } | ||
- | }); | ||
- | </ | ||
- | |||
- | ==== Útvonalak védelme ==== | ||
- | |||
- | <code php app/ | ||
- | <?php | ||
- | |||
- | require " | ||
- | require " | ||
- | require " | ||
- | |||
- | app()-> | ||
- | |||
- | app()-> | ||
- | app()-> | ||
- | |||
- | app()-> | ||
- | app()-> | ||
- | app()-> | ||
- | app()-> | ||
- | }]); | ||
- | |||
- | |||
- | </ | ||
- | |||
- | ===== Cors ===== | ||
- | |||
- | composer require leafs/cors | ||
- | |||
- | vagy: | ||
- | |||
- | leaf install cors | ||
- | |||
- | <code php index.php> | ||
- | <?php | ||
- | |||
- | require __DIR__ . '/ | ||
- | |||
- | require ' | ||
- | |||
- | app()-> | ||
- | app()-> | ||
- | </ | ||
- | |||
- | Beállítás: | ||
- | |||
- | <code php> | ||
- | app()-> | ||
- | ' | ||
- | ' | ||
- | ]); | ||
- | </ | ||
- | |||
- | |||
- | |||
oktatas/web/back-end_framework/leaf/minimalis.1726521642.txt.gz · Utolsó módosítás: 2024/09/16 23:20 szerkesztette: admin