This repository is the basis on which I start to build all my projects. An example is based on the Pion and my favorite components needed to run any modern application:
- Peony - a lightweight templating engine designed for the Pion Framework
- Muon - a forms engine designed for the Peony Templating & Pion Framework
- Docker - a set of platform as a service (PaaS) products that uses OS-level virtualization to deliver software in packages called containers
- Docker Compose - a tool for defining and running multi-container Docker applications
- MariaDB - one of the most popular open source relational databases
- PhpMyAdmin - a free software tool, intended to handle the administration of MySQL over the Web
- Nginx - the most popular web-server
- Ofelia - an awesome job scheduler for docker environments (in short - crontab for docker)
- Doctrine - one of the best ORM for PHP
- Symfony Console - a component allows you to create command-line commands
- Symfony EventDispatcher - provides tools that allow your application components to communicate with each other by dispatching events and listening to them
- Gulp - a task manager for automatically performing frequently used tasks
- JQuery - a JavaScript framework focusing on the interaction of JavaScript and HTML
- Babel - a JavaScript compiler that allows you to use modern ES5, ES6 tools in old browsers
- Typescript - a typed superset of JavaScript that compiles to plain JavaScript
- PostCss & Sass
- Underscore - a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects
- and a bunch of js packages for all kinds of optimizations, auto-prefixing, etc.
- Install docker & docker-compose;
- Clone or download Pion-example project;
- Run
docker-compose up --build
in project directory (this may take some time); - Add
127.0.1.1 pion-example.loc
to your hosts file; - Go to http://pion-example.loc:8020/
- Explore :)
Start exploring this example from the web-app/web/index.php
By default, gulp is running in production mode. The "watching changes" feature is available in developer mode.
If you want to run gulp in developer mode please add the following environment variable: PION_EXMPL_DEBUG=1
.
docker-compose up --build
- build images & start containers.
docker container ls
- show all containers (default shows just running).
docker stop $(docker ps -q)
- stop all running containers.
docker-compose stop
- stop all containers is current directory.
docker rm $(docker ps -a -q -f status=exited)
- remove stopped containers.
docker exec -it <container_id> bash
- get a bash shell in the container.
https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/tools.html#command-overview
vendor/bin/doctrine orm:schema-tool:update --force
- processes the schema and update the database schema of EntityManager Storage Connection
https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html