https://github.com/bowphp/framework
The Bow Framework
https://github.com/bowphp/framework
bow framework php php-framework
Last synced: 9 months ago
JSON representation
The Bow Framework
- Host: GitHub
- URL: https://github.com/bowphp/framework
- Owner: bowphp
- License: mit
- Created: 2018-07-07T12:55:46.000Z (over 7 years ago)
- Default Branch: 5.x
- Last Pushed: 2025-03-23T06:49:07.000Z (9 months ago)
- Last Synced: 2025-04-09T22:15:52.488Z (9 months ago)
- Topics: bow, framework, php, php-framework
- Language: PHP
- Homepage: https://bowphp.com/api/master
- Size: 2.99 MB
- Stars: 58
- Watchers: 5
- Forks: 17
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Bow Framework
To use this package, please create an application from this package [bowphp/app](https://github.com/bowphp/app)
## The Framework Main Feature
- Full-featured database classes with support for several platforms.
- Query Builder Database Support
- Form and Data Validation
- Security and XSS Filtering
- Data Encryption
- Session Management
- Controller Revolver
- Middleware Support
- Small and Robust Routing
- File Uploading Class
- Pagination
- CQRS helpful implementation
- File System Management with many drivers like S3 and FTP (Support connection switch)
- Extensible with an external package that can plug in
- Application logs Management
- Database Connection (MySQL, SQLite, PostgreSQL)
- Simplest ORM which is named Barry
- Cache support (Filesystem, Redis, Database caching)
- Event Management (Interpage Event)
- Emailing (SMTP, SES, Native PHP mail supports)
- Task runner (Which helps you to generate the controller and match more)
- Unit Testing Support
- View Rendering with [bowphp/tintin](https://github.com/bowphp/tintin) package (Tintin is the very small php template)
- Very easy Translate Management
- Many helpers
- The native authentication system
- Producer/Consumer with beanstalkd, database, Redis, SQS backend
## Project Structure
The project is organized into the following directories, each representing an independent module:
- **src/**: Source code for the Bow Framework.
- **Application/**: Main application logic and configuration.
- **Auth/**: Authentication and authorization management.
- **Cache/**: Caching mechanisms.
- **Configuration/**: Configuration settings management.
- **Console/**: Console commands and utilities.
- **Container/**: Dependency injection and service container.
- **Contracts/**: Interfaces and contracts for various components.
- **Database/**: Database connections and ORM.
- **Event/**: Event management and dispatching.
- **Http/**: HTTP requests and responses management.
- **Mail/**: Email sending and configuration.
- **Messaging/**: Messaging and notifications.
- **Middleware/**: Middleware classes for request handling.
- **Queue/**: Job queues and background processing.
- **Router/**: HTTP request routing.
- **Security/**: Security features like encryption and hashing.
- **Session/**: User session management.
- **Storage/**: File storage and retrieval.
- **Support/**: Utility classes and helper functions.
- **Testing/**: Unit testing classes and utilities.
- **Translate/**: Translation and localization.
- **Validation/**: Data validation.
- **View/**: View rendering and templating.
- **tests/**: Unit tests for the project.
## Contributing
Thank you for considering contributing to Bow Framework! The contribution guide is in the framework documentation.
- [Franck DAKIA](https://github.com/papac)
- [Thank's collaborators](https://github.com/bowphp/framework/graphs/contributors)
### Contribution Guidelines
We welcome contributions from the community! To contribute to the project, please follow these steps:
1. Fork the project and clone it to your local machine.
2. Create a new branch for your changes.
3. Make your changes and commit them.
4. Push your changes to your fork and create a pull request.
For more detailed information, refer to the `CONTRIBUTING.md` file.
## Contact
[papac@bowphp.com](mailto:papac@bowphp.com) - [@papacdev](https://twitter.com/papacdev)
Please, if there is a bug on the project contact me by email or leave me a message on [Slack](https://bowphp.slack.com).
or [join us on Slask](https://join.slack.com/t/bowphp/shared_invite/enQtNzMxOTQ0MTM2ODM5LTQ3MWQ3Mzc1NDFiNDYxMTAyNzBkNDJlMTgwNDJjM2QyMzA2YTk4NDYyN2NiMzM0YTZmNjU1YjBhNmJjZThiM2Q)