Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# These are supported funding model platforms

github: [papac]
github: [ papac ]
open_collective: bowphp
custom: ["https://www.buymeacoffee.com/iOLqZ3h"]
custom: [ "https://www.buymeacoffee.com/iOLqZ3h" ]
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ If you would like to propose new Bow features, please make a pull request, or op
- Version: #.#.#
- Tintin Version: #.#.#
- PHP Version: #.#.#
- Database Driver & Version: Mysql|Sqlite
- Database Adapters & Version: Mysql|Sqlite

### Description

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Setup MySQL
uses: mirromutth/mysql-action@v1.1
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ This method aims to execute an SQL transaction around a passed arrow function.
```php
Database::transaction(fn() => $user->update(['name' => '']));
```

Ref: #255

## 5.1.0 - 2023-06-07
Expand Down
6 changes: 4 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Bow's code of conduct is derived from the Ruby Code of Conduct. Any breach of the code of conduct may be reported to Franck DAKIA (dakiafranck@gmail.com).
Bow's code of conduct is derived from the Ruby Code of Conduct. Any breach of the code of conduct may be reported to
Franck DAKIA (dakiafranck@gmail.com).

- Participants will be tolerant of opposing points of view.
- Participants must ensure that their language and actions are free from personal attacks and derogatory personal remarks.
- Participants must ensure that their language and actions are free from personal attacks and derogatory personal
remarks.
- By interpreting the words and actions of others, participants must always assume good intentions.
- Behavior that can reasonably be considered harassment will not be tolerated.
21 changes: 12 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Contribution

- [Contribution](#contribution)
- [Introduction](#introduction)
- [Cutting the project](#cutting-the-project)
- [How to make the commits](#how-to-make-the-commits)
- [Contact](#contact)
- [Introduction](#introduction)
- [Cutting the project](#cutting-the-project)
- [How to make the commits](#how-to-make-the-commits)
- [Contact](#contact)

## Introduction

Expand All @@ -14,14 +14,16 @@ To participate in the project you must:
- Clone the project from your github `git clone account https://github.com/your-account/app`
- Create a branch whose name will be the summary of your change `git branch branch-of-your-works`
- Make a publication on your depot `git push origin branch-of-your-works`
- Finally make a [pull-request](https://www.thinkful.com/learn/github-pull-request-tutorial/Keep-Tabs-on-the-Project#Time-to-Submit-Your-First-PR)

- Finally make
a [pull-request](https://www.thinkful.com/learn/github-pull-request-tutorial/Keep-Tabs-on-the-Project#Time-to-Submit-Your-First-PR)

## Cutting the project

The Bow framework project is split into a subproject. Then each participant will be able to participate on the section in which he feels the best.
The Bow framework project is split into a subproject. Then each participant will be able to participate on the section
in which he feels the best.

Imagine that you are more comfortable with the construction of Routing. Just focus on `src/Routing`. Note that the sections have to be independent and therefore have the own configuration.
Imagine that you are more comfortable with the construction of Routing. Just focus on `src/Routing`. Note that the
sections have to be independent and therefore have the own configuration.

## How to make the commits

Expand Down Expand Up @@ -63,4 +65,5 @@ In case your modification affect more section? You give a message and a descript

## Contact

Please, if there is a bug on the project please contact me by email or leave me a message on the [slack](https://bowphp.slack.com).
Please, if there is a bug on the project please contact me by email or leave me a message on
the [slack](https://bowphp.slack.com).
9 changes: 7 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{
"name": "bowphp/framework",
"description": "The bow PHP Framework",
"keywords": ["framework", "bow"],
"keywords": [
"framework",
"bow"
],
"license": "MIT",
"support": {
"issues": "https://github.com/bowphp/framework/issues",
Expand Down Expand Up @@ -34,7 +37,9 @@
"bowphp/policier": "^3.0",
"mockery/mockery": "^1.5",
"spatie/phpunit-snapshot-assertions": "^4.2",
"predis/predis": "^2.1"
"predis/predis": "^2.1",
"twilio/sdk": "^8.3",
"bowphp/slack-webhook": "^1.0"
},
"authors": [
{
Expand Down
158 changes: 128 additions & 30 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,129 @@
version: "3"
services:
db:
container_name: mysql
command: --default-authentication-plugin=mysql_native_password --max_allowed_packet=1073741824
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: test
MYSQL_USERNAME: travis
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
ftp:
container_name: ftp-server
image: emilybache/vsftpd-server
ports:
- "21"
environment:
USER: bob
PASS: "12345"
volumes:
- "ftp_storage:/ftp/$USER"
mail:
container_name: mail
image: maildev/maildev
ports:
- "1025:25"
- "1080:80"

volumes:
ftp_storage:
mysql_data:
driver: local
postgres_data:
driver: local
redis_data:
driver: local
ftp_storage:
driver: local

networks:
bowphp_network:
driver: bridge

services:
mysql:
container_name: bowphp_mysql
image: mysql:8.3.0
restart: unless-stopped
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: test_db
MYSQL_ROOT_PASSWORD: password
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
command: --default-authentication-plugin=mysql_native_password
volumes:
- mysql_data:/var/lib/mysql
networks:
- bowphp_network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-ppassword"]
interval: 10s
timeout: 5s
retries: 5
postgres:
container_name: bowphp_postgres
image: postgis/postgis:15-3.3
restart: unless-stopped
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- bowphp_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U bowphp"]
interval: 10s
timeout: 5s
retries: 5
ftp:
container_name: bowphp_ftp
image: papacdev/vsftpd
restart: unless-stopped
ports:
- "21:21"
- "20:20"
- "12020-12025:12020-12025"
environment:
USER: bob
PASS: "12345"
volumes:
- "ftp_storage:/ftp/$USER"
networks:
- bowphp_network
mail:
container_name: bowphp_mail
image: maildev/maildev
restart: unless-stopped
ports:
- "1025:25"
- "1080:80"
networks:
- bowphp_network
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "25"]
interval: 10s
timeout: 5s
retries: 5
beanstalkd:
container_name: bowphp_beanstalkd
image: schickling/beanstalkd
restart: unless-stopped
ports:
- "11300:11300"
networks:
- bowphp_network
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "11300"]
interval: 10s
timeout: 5s
retries: 5
redis:
container_name: bowphp_redis
image: redis:7-alpine
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- bowphp_network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
command: redis-server --appendonly yes
memcached:
container_name: bowphp_memcached
image: memcached:1.6-alpine
restart: unless-stopped
ports:
- "11211:11211"
command:
- --conn-limit=1024
- --memory-limit=64
- --threads=4
networks:
- bowphp_network
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "11211"]
interval: 10s
timeout: 5s
retries: 5
2 changes: 1 addition & 1 deletion php.dist.ini
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sendmail_path=/tmp/sendmail -t -i
sendmail_path = /tmp/sendmail -t -i
28 changes: 27 additions & 1 deletion phpunit.dist.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
<phpunit colors="true" bootstrap="tests/bootstrap.php">
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.5/phpunit.xsd"
colors="true"
bootstrap="tests/bootstrap.php"
verbose="true"
failOnRisky="true"
failOnWarning="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailure="false"
executionOrder="random"
resolveDependencies="true">
<testsuite name="Bow Framework">
<directory suffix=".php">tests/</directory>
<exclude>./tests/SessionTest.php</exclude>
Expand All @@ -15,5 +29,17 @@
<env name="FTP_USERNAME" value="username"/>
<env name="FTP_PORT" value="21"/>
<env name="FTP_ROOT" value="."/>
<ini name="error_reporting" value="-1"/>
<ini name="display_errors" value="On"/>
<ini name="display_startup_errors" value="On"/>
</php>
<coverage>
<include>
<directory suffix=".php">src</directory>
</include>
<exclude>
<directory>vendor</directory>
<directory>tests</directory>
</exclude>
</coverage>
</phpunit>
3 changes: 2 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,6 @@ Thank you for considering contributing to Bow Framework! The contribution guide

[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)
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)

Loading
Loading