[[oktatas:web:back-end_framework:leaf|< Leaf]] ====== Leaf minimális függvényekkel ====== * **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 ===== Bevezetés ===== Generátorok nélkül, függvényekkel, minimalista módon dolgozunk ebben a leírásban. Egy minta: * https://github.com/oktat/emp_api_leaf.git Ebben a leírásban az adatbázisrész nincs befejezve. ===== 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 a egy vendor nevű könyvtár. ===== Szoftver ===== 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 ===== run(); get('/employees', 'EmployeeController@index'); 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 );