# Introduction

PHPSandbox is an online instant development environment for writing PHP - it provides PHP developers with an environment they can start writing code from immediately without having to install anything.

# Features

  • Real Environment
  • Code Editor
  • Composer package search and management
  • Command console
  • GitHub Import/Export
  • Laravel Support
  • File Explorer
  • Environment Variables
  • Embedding
  • Markdown Badges
  • Switching PHP versions
  • Setting notebook server public path
  • Support for more PHP frameworks
  • Preview URL keep-alive

# The Goal of PHPSandbox

The goal of PHPSandbox is to bring down the barrier of using and learning of any PHP Technology (Framework, libraries, Projects etc).

We achieve this by:

# Providing quick access to testing composer packages

Generally, before now, Testing composer packages means installing the package in a sample project even if only a small part of the package you will like to use. In other words, any composer package that is to be used will have to installed in a project. The ups and downs of quicly testing packages makes it slow to test a composer package. Another challenge is the potential to disrupt a project's setup while trying to test a package in an existing project. For beginners, testing a composer package can be hard when you have to go through a lot of setups to test a small aspect of the package. PHPSandbox makes all these easier by allowing package developers to provide embeded samples of an. environment where the package to be tested is already installed. With this, potential users of the package can go directly to explore the package and fiddle with different parts of it without the need to go through setups. In case developers still needs to install a package by themselves, PHPSandbox allows you to do this in a faster way without the need to do setups or have to wait.

# Providing quick access to code samples with preview

With PHPSandbox, Package developers can provide code samples for different ways their packages can be used with previews that allows you to see the result of the code samples. Users will be able to search for code samples based on packages so as to get a quick sample on how a package is being utilized in apps.

# Making Sharing and testing of PHP projects easier

Combining Search and Preview for projects, sharing is made easy for PHP Developers. By default, all Notebooks(Sandboxes) created on PHPSandbox is public and the URLs to the projects can be shared easily. With URLs, other developers can fork Notebooks or even embed them in Documentations.

PHPSandbox allows you to write code for different types of PHP Frameworks in the community. The meaning of this is that the you can create Notebooks for different frameworks with an environment that is tunned to run them. Currently, PHPSandbox supports the creation of Laravel, Symphony, Lumen Notebooks, ReactPHP Notebook, CLI Notebook and Standard Notebooks. We aim to make supported framework as diverse as possible meaning that more type of notebooks will be supported in the future.

# Providing environments that mimics actual PHP Environments where codes are executed

All PHPSandbox notebooks runs inside docker containers and this gives the opportunity to have an environment for your notebooks that mimics a minimal development environment. Developers will have access to add Environment Varibles that are used in their app.

# Making work easier and portable on low end PCs

PHPSandbox runs entirely in the browser which makes it suitable to run on low end without hiccups. This allows devs with low end equipment to be able to use PHP without actual environment set up. All that will be needed is just a browser. With this, any developer with a Chrome book can develop PHP Apps right from the browser without core environment setups. PHPSandbox takes care of the enviroment and lets you go straight to doing what you like - bringing your ideas to life!

# Providing the Version Control you love

We know developers like Git and we care about that too. PHPSandbox allows you to export your projects to GitHub and also allows you to import PHP Projects from GitHub without stress. While importing, PHPSandbox detects the kind of app you're importing and provisions a notebook to allow you run it successfully. In the upcoming version, developers will be able to commit codes and make pull requests to projects.

# Support

If you need help with using PHPSandbox or have some feedback, you can reach out via Twitter or Discord.