Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:leaf:minimalis_fueggvenyekkel

< Leaf

Leaf minimális függvényekkel

Bevezetés

Generátorok nélkül, függvényekkel, minimalista módon dolgozunk ebben a leírásban.

Egy minta:

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

index.php
<?php
 
require __DIR__ . '/vendor/autoload.php';
 
 
app()->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:

EmployeeController.php
<?php
 
class EmployeeController {
    public function index() {
        response()->json('műkszik');
    }
}
index.php
<?php
require __DIR__ . '/vendor/autoload.php';
 
require "EmployeeController.php";
 
app()->get('/employees', 'EmployeeController@index');
 
app()->run();

Külön routing

index.php
<?php
require __DIR__ . '/vendor/autoload.php';
require 'api.php';
app()->run();
api.php
<?php
 
require "EmployeeController.php";
 
app()->get('/employees', 'EmployeeController@index');
EmployeeController.php
<?php
 
class EmployeeController {
    public function index() {
        response()->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
);
oktatas/web/back-end_framework/leaf/minimalis_fueggvenyekkel.txt · Utolsó módosítás: 2024/03/17 18:58 szerkesztette: admin