waglpz / webapp
Web application component
Installs: 2 729
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 2
Open Issues: 2
Requires
- php: ^8.2
- ext-apcu: *
- ext-fileinfo: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-mysqli: *
- ext-pcntl: *
- ext-pdo: *
- ext-pdo_mysql: *
- aidphp/http: dev-master
- aura/sql: ^5.0
- nikolaposa/monolog-factory: ^3.1
- ocramius/generated-hydrator: ^4.6
- ramsey/uuid: ^4.7
- slim/php-view: ^3.2
- symfony/dotenv: ^v6.2
- waglpz/config: ^2.1
- waglpz/di-container: ^2.1
- waglpz/webapp-routing: ^2.1
- webmozart/assert: ^1.11
Requires (Dev)
- doctrine/coding-standard: ^11.1
- nunomaduro/mock-final-classes: ^1.2
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-strict-rules: ^1.5
- phpstan/phpstan-symfony: ^1.1
- phpstan/phpstan-webmozart-assert: ^1.1
- phpunit/phpunit: ^10.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.7
- symfony/var-dumper: ^7.0
This package is auto-updated.
Last update: 2025-03-06 20:00:58 UTC
README
The Library enables you to work with web application as MVC.
Requirements
PHP 8.2 or higher (see composer json)
Installation
composer require waglpz/webapp
Example public/index.php
for testing in browser
<?php declare(strict_types=1); /** * when testing wepapp then create /public Directory as DocumentRoot and insert index.php */ use Psr\Http\Message\ServerRequestInterface; use Symfony\Component\Dotenv\Dotenv; use Waglpz\Webapp\App; use function Waglpz\Webapp\container; require __DIR__ . '/../vendor/autoload.php'; const PROJECT_CONFIG_DIRECTORY = __DIR__ . '/../config'; (new Dotenv())->bootEnv(__DIR__ . '/../.env'); /* phpcs:disable */ if (! \defined('APP_ENV')) { \define('APP_ENV', $_SERVER['APP_ENV'] ?? 'dev'); } /* phpcs:enable */ $container = container(); $app = $container->get(App::class); $request = $container->get(ServerRequestInterface::class); \assert($app instanceof App && $request instanceof ServerRequestInterface); $app->run($request);
Docker
Build Docker container included php and composer for working within
docker build --force-rm --build-arg APPUID=$(id -u) --build-arg APPUGID=$(id -g) --tag waglpz/webapp .docker/
Start container with bash
docker run --user $(id -u):$(id -g) --rm -ti -v $PWD:/app -v $PWD/.docker/ waglpz/webapp bash
Start container with bash and xdebug
docker run \ --user $(id -u):$(id -g) \ --rm \ -ti \ -v $PWD:/app \ -v $PWD/.docker/ \ -v $PWD/.docker/php/php-ini-overrides.ini:/usr/local/etc/php/conf.d/99-overrides.ini \ waglpz/webapp bash
Start container with bash and xdebug as root user eg to install apt get packet
docker run \ --rm \ -ti \ -v $PWD:/app \ -v $PWD/.docker/ \ -v $PWD/.docker/php/php-ini-overrides.ini:/usr/local/etc/php/conf.d/99-overrides.ini \ waglpz/webapp bash
Code Quality and Testing
To check for coding style violations, run
composer cs-check
To automatically fix (fixable) coding style violations, run
composer cs-fix
To check for static type violations, run
composer cs-fix
To check for regressions, run
composer test
To check all violations at once, run
composer check