bin | ||
config | ||
data | ||
src | ||
.gitignore | ||
composer.json | ||
phpunit.xml | ||
README.md |
Loom | Spinner
An environment management application for PHP developers.
Dev Notes
Argument priority:
- Those passed explicitly in the CLI commands
- Any set within
{projectDirectory}/spinner.yaml
- Fall back to
/config/spinner.yaml
Commands
Command: spin:up
Creates a new PHP development environment and mounts your project files.
Arguments
Argument: name
Required? ✅
The name of your Docker containers. Your containers will spin up with the name {name}-{service} i.e.
spinner spin:up name=test path=/path
Results in containers named
test-php
andtest-nginx
Argument: path
Required? ✅
The absolute path on your system to the project you want to create containers for.
Options
Option: --php
Defines the PHP version that your container will use. You can omit this flag and set the PHP version inside your projects
spinner.yaml
file. Otherwise, will use the default value found inconfig/spinner.yaml
Option: --node
Set which version of Node to install in your container. Is ignored if the
--disable-node
flag is passed, or if Node is disabled in your projectsspinner.yaml
file. Equivalent to settingoptions.environment.node.version: x
in your projects Spinner config.
Option: --database
Set which database driver to use with your environment. The default (and currently only) database driver is
sqlite3
. Accepted values are currentlysqlite
andsqlite3
. If using the default, SQLite is installed inside your PHP container and a mapping created to the/sqlite
directory in your project. This argument is ignored if--disabled-database
is set.
Option: --disable-database
Does not install a database with your environment. Equivalent to setting
options.environment.database.enabled: false
in your Spinner config.
Option: --disable-node
Disables Node for your environment, so it isn't included in your PHP container. Equivalent to setting
options.environment.node.enabled: false
in your Spinner config.
Option: --disable-server
Does not install a webserver (so no Nginx). Useful if you just need a PHP container to run unit tests or something.
Option: --disable-xdebug
Do not install XDebug in your environment. Equivalent to setting
options.environment.php.xdebug = false
in your projects Spinner config.
XDebug Setup
These instructions are for PHPStorm. I don't know about working with other IDE's, although they should be fairly universal.
Server Settings
File
->Settings
PHP
->Servers
->+
- Give your "server" a name and use the values shown below.
Setting | Value |
---|---|
Host | 127.0.0.1 |
Port | Local port PHP container is running on. i.e. if your docker container shows 52033:9003, use 52033. |
Debugger | Xdebug |
Use path mappings? | ✅ |
File/Directory | Select your project root |
Absolute path on server | /var/www/html |
Remote Debugger
Run
->Edit Configurations
+
->PHP Remote Debug
- Give it a name
- Use the server you created before
- Use SPINNER as IDE key
Make sure you start listening when you want to debug by clicking the little bug icon in the top right (by default) in PHPStorm.