PHPackages                             nagyatka/kodiapp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. nagyatka/kodiapp

ActiveLibrary[Framework](/categories/framework)

nagyatka/kodiapp
================

PHP Application framework

v0.11.25(8y ago)0124[5 issues](https://github.com/nagyatka/kodiapp/issues)Apache-2.0PHPPHP ^5.6 || ^7.0

Since Jul 24Pushed 8y ago2 watchersCompare

[ Source](https://github.com/nagyatka/kodiapp)[ Packagist](https://packagist.org/packages/nagyatka/kodiapp)[ Docs](https://github.com/nagyatka/kodiapp)[ RSS](/packages/nagyatka-kodiapp/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (7)Versions (41)Used By (0)

KodiApp
=======

[](#kodiapp)

PHP application framework

Install
-------

[](#install)

```
$ composer require nagyatka/kodiapp
```

Documentation v1.0
------------------

[](#documentation-v10)

**Magyar nyelvű dokumentáció**

### Alkalmazás indítása

[](#alkalmazás-indítása)

```
/*
 * index.php
 */

define('PATH_BASE', dirname(__FILE__).'/..' );

// Composer autoloader
require '../vendor/autoload.php';

use KodiApp\Application;
use MyApp\MyAppConfiguration;

Application::getInstance()->run(new MyAppConfiguration());
```

Egy alkalmazást az `Application::getInstance()` osztály metódus meghívásával lehet elérni. Mivel az Application Singleton mintát valósít meg, emiatt az alkalmazás futása során bárhol elérhető ezzel a metódus hívással.

Az alkalmazást elindítani a run metódussal lehet, amely paraméterként egy olyan osztály vár, ami megvalósítja az `ApplicationConfiguration` interfészt. Itt csak a `initializeApplication` metódust kell implementálni, amelyet az alkalmazás futása elején fog majd meghívni. Itt kell regisztrálni az adatbázis kapcsolatot, routokat, biztonsági beállításokat, stb.

Ez a megközelítés nagy fokú szabadságot biztosít, hiszen megvalósíthatjuk úgy a konfigurációt, hogy konfigurációs osztályon belül töltjük be a konfigurációs fájlokat, de az is megoldható, hogy konstruktoron keresztül oldjuk meg ugyanezt.

```
class MyAppConfiguration implements ApplicationConfiguration
{
    public function __construct()
    {
        // ...
    }

    public function initializeApplication(Application $application)
    {
        // ...
    }
}
```

### Komponensek

[](#komponensek)

**Komponensek regisztrációja**

A különböző komponenseket az `ApplicationConfiguration` interfészt megvalósító osztály `initializeApplication` metódusában kell inicializálni.

#### Routolás

[](#routolás)

Az útvonalakat egy tömbben kell definiálni a következő struktúra szerint:

```
//Struktúra:
    [route_name] => [
        "method"    =>  [HTTP method],
        "url"       =>  [url],
        "handler"   =>  "[controller_class]::[controller_class_function]",
    ], ...

//Példa:
    "home" => [
        "method"    =>  "GET",
        "url"       =>  "/",
        "handler"   =>  "HomeController::handleIndex",
    ],
```

Router inicializálása:

```
class MyAppConfiguration implements ApplicationConfiguration
{
    private $myroutes = [
         "home" => [
                "method"    =>  "GET",
                "url"       =>  "/",
                "handler"   =>  "HomeController::handleIndex",
         ],
    ];

    public function initializeApplication(Application $application)
    {
        $router = new SimpleRouter();
        $router->setRoutes($this->myroutes);
        $application->setRouter($router);
    }
}
```

A route-hoz tartozó HomeController:

```
class HomeController
{
    public function handleIndex()
    {
        return "Hello world!";
    }
}
```

Paraméterek beállítása az urlben:

```
class MyAppConfiguration implements ApplicationConfiguration
{
    private $myroutes = [
         "home" => [
                "method"    =>  "GET",
                "url"       =>  "/user/{user_id:[0-9]+}",
                "handler"   =>  "UserController::getUser",
         ],
    ];

    public function initializeApplication(Application $application)
    {
        $router = new SimpleRouter();
        $router->setRoutes($this->myroutes);
        $application->setRouter($router);
    }
}

class UserController
{
    public function getUser($params)
    {
        return "User_id: ".$params["user_id"];
    }
}
```

A megadott url-ekben tetszőlegesen beállíthatóak paraméterek, amiket a metódus egy asszociatív tömbben kap meg. Az url paramétereknél `:`-tal elválasztva megadható reguláris kifejezés is, amelynek teljesülnie kell, hogy meghívódjon a handlerben megadott metódus! A url-k beállításáról részletesebben [itt tudsz](https://github.com/nikic/FastRoute#defining-routes)olvasni.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~17 days

Total

40

Last Release

3250d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3961400?v=4)[nagyatka](/maintainers/nagyatka)[@nagyatka](https://github.com/nagyatka)

---

Top Contributors

[![nagyatka](https://avatars.githubusercontent.com/u/3961400?v=4)](https://github.com/nagyatka "nagyatka (54 commits)")

---

Tags

phpframework

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/nagyatka-kodiapp/health.svg)

```
[![Health](https://phpackages.com/badges/nagyatka-kodiapp/health.svg)](https://phpackages.com/packages/nagyatka-kodiapp)
```

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.4k86.9M2.2k](/packages/symfony-symfony)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.5M373](/packages/easycorp-easyadmin-bundle)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M517](/packages/shopware-core)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
