nader/essance
Composer 安装命令:
composer require nader/essance
包简介
A lightweight, single-file PHP framework to modernize legacy projects
README 文档
README
A lightweight, single-file PHP framework designed to modernize legacy projects with zero dependencies.
Installation
Install via Composer:
composer require nader/essance
Features
- ✨ Single-file architecture - Just one file to include
- 🚀 Modern routing system with RESTful support
- 📁 Chunked file uploads with validation
- 💾 Built-in caching system
- 🔐 Session management with flash messages
- ⚙️ Environment configuration (.env support)
- 🛡️ Security features built-in
- 📦 Zero dependencies
Quick Start
<?php require_once 'vendor/autoload.php'; use Essance\Router; use Essance\Response; // Define a route Router::get('/', function() { return Response::json(['message' => 'Hello from Essance!']); }); // Define a route with parameters Router::get('/user/{id}', function($request) { $userId = $request->param('id'); return Response::json(['user_id' => $userId]); }); // Run the application Essance\Essance::getInstance()->run();
Basic Usage
Routing
// GET request Router::get('/path', function($request) { // Handle request }); // POST request Router::post('/api/users', function($request) { $name = $request->input('name'); return Response::json(['created' => true]); }); // Route with parameters Router::get('/post/{id}', function($request) { $id = $request->param('id'); return Response::json(['post_id' => $id]); }); // Route groups Router::group('/api', function() { Router::get('/users', 'UserController@index'); Router::post('/users', 'UserController@store'); });
File Uploads
use Essance\ChunkUpload; Router::post('/upload', function($request) { $uploader = new ChunkUpload('uploads'); $result = $uploader->handleSimple($_FILES['file']); return Response::json($result); });
Caching
use Essance\Cache; // Set cache Cache::set('key', 'value', 3600); // Get cache $value = Cache::get('key'); // Remember pattern $users = Cache::remember('users', function() { // Expensive operation return ['user1', 'user2']; }, 3600);
Sessions
use Essance\Session; // Set session Session::set('user_id', 123); // Get session $userId = Session::get('user_id'); // Flash messages Session::flash('success', 'Operation completed!');
Environment Configuration
Create a .env file in your project root:
APP_NAME=MyApp APP_ENV=production APP_DEBUG=false APP_URL=http://localhost UPLOAD_MAX_SIZE=10485760 CACHE_ENABLED=true CACHE_LIFETIME=3600
Access environment variables:
$appName = env('APP_NAME', 'DefaultName');
Requirements
- PHP 8.2 or higher
- Apache/Nginx with mod_rewrite
License
Copyright (c) 2025 Nader Mahbub Khan
All rights reserved.
Unauthorized copying, modification, distribution, or use of this software, via any medium, is strictly prohibited without the express written permission of the author.
Branding, names, and visual elements associated with this software may not be changed, removed, or reused under any circumstances.
Author
Created by Nader Mahbub Khan
Support
For issues and questions, please use the GitHub issue tracker.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-24