semhoun/slim-skeleton-mvc
Composer 安装命令:
composer create-project semhoun/slim-skeleton-mvc
包简介
Simple Slim Framework 4 skeleton with Twig, Monolog, Doctrine in Sqlite.
README 文档
README
A modern web application skeleton based on Slim 4, using the MVC architecture. This project is ideal for quickly starting the development of an API or a web application with a robust stack.
🚀 Features
- Framework: Slim 4.15 (PSR-7, PSR-15, PSR-17)
- PHP Version: 8.4+ required
- Dependency Injection Container: PHP-DI 7.0 with autowiring
- ORM: Doctrine ORM 3.5 with DBAL 4.4
- Database: SQLite by default (supports MySQL, PostgreSQL via configuration)
- Template Engine: Twig 3.4
- API Support: RESTful API skeleton with JSON rendering
- Logging: Monolog 3.9 with multiple handlers
- Console: Symfony Console 6.4 with custom commands
- Code Quality: PHP Insights 2.13 & Rector 2.2
- Debugging: Tracy integrated via slim-tracy
- Sessions: Odan Session 6.4 with secure storage
- Migrations: Doctrine Migrations 3.9
- Environment: vlucas/phpdotenv 5.6 for configuration (supports
.envfiles, system environment variables, and mandatory variables usingenv_required(['VAR1', 'VAR2']) - Proxy Support: Built-in proxy detection middleware
🛠️ Requirements
- PHP 8.4 or higher
- Composer 2.0 or higher
- SQLite extension (or MySQL/PostgreSQL for production)
- Required PHP extensions: json, pdo, pdo_sqlite
🛠️ Installation
1. Create the project
Use Composer to install the project:
composer create-project semhoun/slim-skeleton-mvc [your-app]
2. Configuration
- Copy the
.env.examplefile to.env:
cp .env.example .env
-
By default, the application uses a SQLite database located in
var/database.sqlite. For production, configure your database and other settings in the.envfile or via environment variables. -
Initialize the database:
./console migrations:migrate
- (Optional) Generate Doctrine proxies:
./console orm:generate-proxies
3. Run the application
You can use the PHP built-in development server:
composer start
Or use the console command:
./console serve
The application will be accessible at http://localhost:8080.
4. Available Console Commands
# Clear application cache ./console cache:clear # Initialize cache ./console cache:init # Generate Doctrine proxies ./console orm:generate-proxies # Run development server ./console serve # List all available commands ./console list
🧪 Development Tools
Run unit tests:
composer test
Check code quality with PHP Insights:
composer insights-check
Apply automatic Rector fixes:
composer rector-fix
Fix code style issues:
composer insights-fix
Run pre-commit checks (code style + rector + dos2unix):
composer pre-commit
A compose.yml file is provided to facilitate deployment. Here is a configuration example:
services: slim: image: semhoun/webserver ports: - "8080:80" volumes: - .:/www environment: - APP_ENV=dev - DEBUG_MODE=true
To launch the environment with Docker:
docker compose up -d
📝 Notes
- Ensure that the
varfolder has write permissions (for cache, logs, database) - Default credentials: admin / admin (change in production!)
- The project includes an error rendering system (HTML/JSON) based on the
Acceptheader - API routes are prefixed with
/api(configurable inconfig/settings/_base_.php)
📚 Documentation
📄 License
This project is licensed under the MIT License. See the LICENSE file for more details.
🔄 Changelog
See the CHANGELOG.md file for version history and upcoming changes.
semhoun/slim-skeleton-mvc 适用场景与选型建议
semhoun/slim-skeleton-mvc 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.29k 次下载、GitHub Stars 达 84, 最近一次更新时间为 2019 年 08 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「twig」 「api」 「monolog」 「mvc」 「sqlite」 「console」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 semhoun/slim-skeleton-mvc 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 semhoun/slim-skeleton-mvc 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 semhoun/slim-skeleton-mvc 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Shoot aims to make providing data to your templates more manageable
A GeoIP decorator/processor for monolog
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
A Twig extension to insert css as inline styles with a tag
Caching and compression for Twig assets (JavaScript and CSS).
A Zend Framework module that sets up Monolog for logging in applications.
统计信息
- 总下载量: 1.29k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 87
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-08-18