This commit is contained in:
Adrian Borkiet
2024-06-25 10:36:35 +02:00
commit a196e7a10a
9 changed files with 2062 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
# Projekt Kalkulator PHP
## Opis
Projekt Kalkulatora PHP to prosta aplikacja konsolowa napisana w PHP, która pozwala na wykonanie podstawowych operacji matematycznych takich jak dodawanie. Projekt został skonfigurowany do uruchamiania w środowisku Docker, co ułatwia zarządzanie zależnościami i zapewnia spójne środowisko uruchomieniowe.
## Wymagania
- Docker
- Docker Compose
## Uruchamianie aplikacji
Aby uruchomić aplikację, skorzystaj z poniższych kroków:
1. Zbuduj obraz Docker:
```bash
docker compose build
```
2. Uruchom aplikację z przekazaniem dwóch liczb jako argumentów:
```bash
docker compose run app php index.php 2 3
```
Powyższe polecenie wykona operację dodawania na liczbach 2 i 3.
## Uruchamianie testów
Aby uruchomić testy jednostkowe, użyj poniższego polecenia:
```bash
docker compose run app php ./vendor/bin/phpunit tests/
```
## Sprawdzenie PHPCS
By sprawdzić, czy kod jest poprawny względem phpcs należy uruchomić:
```
docker compose run app vendor/bin/phpcs --standard=PSR12 src
```
+11
View File
@@ -0,0 +1,11 @@
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"require-dev": {
"phpunit/phpunit": "^9",
"squizlabs/php_codesniffer": "^3.9"
}
}
+1840
View File
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
version: '3.8'
services:
app:
build:
context: .
dockerfile: docker/Dockerfile
command: php index.php
+16
View File
@@ -0,0 +1,16 @@
FROM php:8.3-cli
RUN apt-get update && apt-get install -y unzip
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
WORKDIR /usr/src/myapp
COPY composer.json composer.lock* /usr/src/myapp/
ENV COMPOSER_ALLOW_SUPERUSER=1
RUN composer install --no-scripts --no-autoloader --dev
COPY . /usr/src/myapp
RUN composer dump-autoload --optimize
CMD ["php", "index.php"]
+17
View File
@@ -0,0 +1,17 @@
<?php
require_once 'vendor/autoload.php';
// Sprawdzenie, czy argumenty zostały podane
if ($argc < 3) {
echo "Usage: php index.php <number1> <number2>\n";
exit(1);
}
$number1 = $argv[1];
$number2 = $argv[2];
$calculator = new App\Calculator();
$result = $calculator->add($number1, $number2);
echo "Result: " . $result . "\n";
+11
View File
@@ -0,0 +1,11 @@
<?php
namespace App;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
+18
View File
@@ -0,0 +1,18 @@
<?php
use PHPUnit\Framework\TestCase;
require_once 'vendor/autoload.php';
class CalculatorTest extends TestCase {
private $calculator;
protected function setUp(): void {
$this->calculator = new App\Calculator();
}
public function testAdd() {
$this->assertEquals(4, $this->calculator->add(2, 2));
$this->assertEquals(0, $this->calculator->add(-1, 1));
}
}