[[oktatas:web:back-end_framework:leaf|< Leaf]] ====== Leaf minimális ====== * **Szerző:** Sallai András * Copyright (c) 2024, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== 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. ===== Szoftver ===== get('/msg', function() use($app) { $app->response()->json(['msg' => 'Hi!']); }); $app->run(); Csak függvénnyel: get('/msg', function() { response()->json(['msg' => 'Hi!']); }); app()->run(); ===== Fejlesztői szerver ===== php -S localhost:8000 -t . ===== Tesztelés ===== Tesztelés HTTPie kliens segítségével: http localhost:8000/msg ===== Controller ===== Hozzunk létre, például a projekt gyökérkönyvtárában egy EmplyoeeController.php fájlt: json('műkszik'); } } get('/employees', 'EmployeeController@index'); $app->run(); ===== Külön routing ===== get('/employees', 'EmployeeController@index'); $app->run(); json('műkszik'); } } ===== Adatbázis ===== composer require leafs/db ==== SQLite ==== db()->connect([ 'dbtype' => 'sqlite', 'dbname' => 'db.sqlite', ]); ==== MariaDB ==== // syntax db()->connect('hostname', 'dbnev', 'user', 'titok', 'mysql'); Lekérdezés: $emps = db()->query('SELECT * FROM employees')->all(); 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 );