A clean start for every pckg project.
- PHP 8.0 Framework with ORM, Migrations, Auth, Queue and I18n modules on the backend - pckg
- Webpack with VueJS ecosystem integration on the frontend - pckg-app/frontend and pckg-app/frontend-dev
- Plug'n'play Docker images for Dev and Prod environments - pckg/docker-images
- CI & CD pipelines (Github Workflows) -
./github/workflows/
- PHP Cloc, Stan, CS, Codeception and Mocha -
composer.json
andpackage.json
The whole dev environment with system dependencies and some services is available in schtr4jh/pckg:latest
Docker
image.
$ docker run \
-v $PWD:/var/www/html \
-i -p 8072:443 \
-t schtr4jh/pckg:latest \
--restart=always /bin/bash
See pckg/docker-images for more info on configuration, parameters and services.
Create a project with composer and install all depencencies including dev.
# composer create-project pckg/skeleton . -s dev --prefer-dist
Install frontend dependencies.
# yarn install
See what console
provides.
# php console
Available commands:
help Displays help for a command list Lists commands\
app\
**app:create** Create new application\
cache\
**cache:clear** Clear cache\
migrator\
**migrator:install** Install migrations from envirtonment\
Create a directory structure for the new application.
# php console app:create
Answer to some questions and create a new app structure in the app
directory.
Create static storage directories for the application.
# php console project:init
This will create the storage
folder with some mandatory subfolders not included in GIT.
Open in web browser.
https://localhost:8072/
vendor
,components
andnode_modules
- dependency managers directorieswww
- directory that will be exposed to the internetstorage
- directory for framework, cache, uploads, tmp and other private and public filesconfig
- root project configurationapp/$app/config
- app configurationapp/$app/src
- app source filesapp/$app/public
- static assets (private, can be mounted towww
)
Note: it is recommended to disable discovery of dependency manager directories, www
and storage
.
Runs mocha + codeception tests + static code analysis.
# php console project:test
- pckg/framework - learn about application lifespan, console access, routing, requests, responses, templating and other framework concepts.
- pckg/database - learn about database and data-layer organization
- pckg/migrator - migrate your database structure, data and config
- pckg/collection - more about data and collection manipulation
- pckg/htmlbuilder - more about form and request validation
- pckg/manager - more about asset & meta management
- pckg/auth - more about local and remote authentication options
- pckg/storage - mora about storage layer
- pckg/translator - mora about i18n layer
- pckg/queue - more about queue layer
- pckg/locale - more about localization layer
- pckg/cache - more about cache layer
- pckg/httpql - more about querying your data
- pckg/mail - more about mail communication
- pckg/websocket - more about websocket server and client
- pckg/tenant - mora about multi-tenancy support
- pckg/task - mora about async task handling
- pckg/helpers-less - simple frontend LESS framework
- pckg/helpers-js - frontend Vue helpers
- pckg/orm - simple JS ORM
- pckg-app/demo-app - Demo app with feature presentation
- pckg/docker-images - Docker images