fa-fo-a / app-skeleton
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:project
Requires
- php: ^8.4
- doctrine/dbal: ^3
- doctrine/doctrine-bundle: ^2.16
- doctrine/doctrine-migrations-bundle: ^3.4
- doctrine/orm: ^3.5
- guzzlehttp/guzzle: ^7.10
- psr/http-factory: ^1.1
- psr/http-message: ^2.0
- symfony/console: ^6.4
- symfony/dotenv: ^6.4
- symfony/flex: ^2
- symfony/framework-bundle: ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/psr-http-message-bridge: ^7.1
- symfony/runtime: ^6.4
- symfony/skeleton: ^6.4
- symfony/uid: ^6.4
- symfony/yaml: ^6.4
Requires (Dev)
- achertovsky/phptools: 0.4.9
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^11
- symfony/browser-kit: ^6.4
- symfony/maker-bundle: ^1.61
README
docker run -u${UID} -w/app -v${PWD}:/app -it --rm composer:latest create-project fa-fo-a/app-skeleton:1.3.0
after getting copy of that repository you could by global search-replace replace appnameplaceholder
to your application name
when its done that part could be removed and following content (below) may be used as project readme
project has example of architecture inside, it could be removed by make uninstall_example
To check endpoint that it works from the container you may do /bin/bash test_request.sh
yeah, its clear that example is nothing useful. idea to showcase
general
make
for flawless experience you need to install make
CI\CD
inside of docker
dir there's hooks
that is configured for container building at hub.docker.com
Note that migrations part commented and you may need to uncomment/create own in both solutions
local docker
docker should be installed to run commands below
my user is not 1000
if you have user differ from 1000 (check by echo $UID
), prepend any following docker-compose commands by USER_ID=${UID}
like
USER_ID=${UID} docker compose up -d
to build and launch
make build
to completely remove
make purge
to start
make start
to stop
make stop
database
in case you decide to use database that project would have following defaults
db name: app
test db name: app_test
user: app
password: pass
how use with project defaults
to use it you have to:
- uncomment db part in docker-compose
- uncomment db migrations in healthcheck.sh
memprof
to profile memory we use https://github.com/arnaud-lb/php-memory-profiler
memprof.output_dir
at container is set to /var/www/html/var
, so files would appeat at /var/www/html/var
to trigger it use MEMPROF_PROFILE=dump_on_limit php -d memory_limit=10m php highloadscript.php
xdebug
to xdebug expect port 9001
to enter for cli commands
with xdebug
make enter-debug
without xdebug
make enter
perform application checks
make healthcheck