basicis / core
Basicis PHP Framework - Core
v1.0-alpha2
2021-05-16 14:22 UTC
Requires
- php: >=7.3|>=8.0
- doctrine/orm: ^2.7
- firebase/php-jwt: ^5.0
- katzien/php-mime-type: ^2.1
- psr/cache: ^1.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0.1
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.1
- symfony/dotenv: ^5.2
- twig/twig: ^3.1
Requires (Dev)
- clean/phpdoc-md: ~0.19.1
- phpunit/phpunit: ^9.2.6
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-11-16 22:53:24 UTC
README
Basicis is a library open source, which follows as PSR's - PHP Standards Recommendations, focusing on web applications and rest api's. As the name says, it is made to be basic and direct.
Get Started
Add library in to you project with Composer
composer require basicis/core
Or with Git clone
git clone http://github.com/basicis/core.git
Bootstrap
#.env.example ### App Settings ### APP_ENV="dev" APP_DESCRIPTION="Basicis Framework" APP_KEY="APP_KEY_HERE" APP_TIMEZONE='America/Recife' #APP_LOG_MAIL="im@example.me" # For MySQL databases #DB_DRIVER="pdo_mysql" #DB_HOST="127.0.0.1" #DB_PORT=3306 #DB_NAME="dbname" #DB_USER="user" #DB_PASS="userpass" #DATABASE_URL="${DB_DRIVER}://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}" # For Sqlite database DB_DRIVER="pdo_sqlite" DB_PATH="path/to/scheme.db"
//config/app-config.php require_once "../vendor/autoload.php"; use Basicis\Basicis; /** Loading Enviroment variables */ Basicis::loadEnv(); /** * $app variable * Create an instance of Basicis\Basicis and setting arguments * @var Basicis $app */ $app = Basicis::createApp( [ "server" => $_SERVER, "files" => $_FILES, "cookie" => $_COOKIE, //"cache" => true, //defalut false /* Default token params "token" => [ "iss" => APP_DESCRIPTION | "", "expiration" => "+30 minutes", "nobefore" => "now", ] */ ] ); /** * Setting Controllers definitions */ $app->setControllers([ //Key required for use in direct calls via Basicis App instance // Ex: $app->controller("keyContName@method", [object|array|null] $args) "home" => "App\\Controllers\\Home", "storage" => "App\\Controllers\\Storage", "example" => "App\\Controllers\\Example", "user" => "App\\Controllers\\User", //"App\\Controllers\\Storage", //... ]); /** * Setting Middlewares definitions */ //Before route middlweares $app->setBeforeMiddlewares([ //key no is required new App\Middlewares\BeforeExample, // new App\Middlewares\Foo //... ]); //Route middlweares $app->setRouteMiddlewares([ //only here, key is required "example" => new App\Middlewares\Example, "development" => new App\Middlewares\Development, "guest" => new App\Middlewares\Guest, "auth" => new App\Middlewares\Auth, //... ]); //After route middlweares $app->setAfterMiddlewares([ //key no is required new App\Middlewares\AfterExample //new App\Middlewares\Bar //... ]); /** * Return the Basicis $app instance created for be imported and run on public/index.php file */ return $app;
//public/index.php //Basicis $app configuration and bootstrap $app = require_once "../config/app-config.php"; //Run Basicis $app if ($app instanceof Basicis\Basicis) { $app->run(); exit; } exit("Error on Start Basicis framework application!");
Documentation
Link to Documentation here.
License
The Basicis Core library is open-sourced software licensed under the MIT license.