Download the PHP package cjmellor/saber without Composer

On this page you can find all versions of the php package cjmellor/saber. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package saber

StyleCI

Hello :wave:

Saber is a tool that allows you to set-up a fully functioning LEMP stack using Docker :whale:

Just a single command to run and you're up and running!

Each part of the LEMP stack is constructed in a separate container.

When the application is set-up, you can access your new app by visiting it in your browser at http://your-site.test

A self-signed certificate can be assigned to the stack and uses the latest TLS security features.

Table of Contents

Prerequisites

Configuring DNSMasq

Already done this? Skip ahead

DNSMasq is required so that Saber can function correctly. Here's a quick guide on getting it set-up. For a more detailed explanation, I recommend reading this article.

Install DNSMasq - this guide uses Brew

Open /usr/local/etc/dnsmasq.conf and anywhere in the file, add this line

Restart DNSMasq

Then test it by running a dig command

If you get a response like so, it works!

Now you need to configure DNSMasq so it can control the way the DNS queries are performed.

Now any site with a .test TLD will resolve to your localhost

Why Saber?

Why should you use Saber over something like Valet or Homestead?

Saber is heavily inspired by Valet. While not a complete fork, it's referenced a lot in the style and format of the code.

Saber was built purely as a fun project to be able to quickly spin up a development environment that can be customised exactly how it is needed to run.

Saber puts customisation ahead of speed when it comes to creating a new development environment. It might take longer to have to pull down Docker images and build them but it means you can have a server specced up to exactly as you want.

Installation

composer global require cjmellor/saber

if you want to run it on a per-project basis, run

Now run the install command to install Saber onto your system. You can choose a PHP and Database version on install, or just omit the options

or with options

Available installation options

Option Default Description
php 7.3 Just a version number (e.g. 5.6, 7.4)
db mariadb:latest db:version (e.g. mysql:5.7). latest also allowed

Create an App

Creating an app will spin up the Dockerized LEMP stack.

Your application can be viewed at its domain of the same name (i.e. an app named saber-test will be viewable at http://saber-test.test). By default, the TLD will always be .test.

Currently, there is no way to change the TLD using Saber. This will change in future versions - PR's welcome!

Database Management

The default credentials are:

User root
Pass password
Database default

You can log in to the database as you normally would, via a command line or a GUI.

HTTPS

Without specifying otherwise, the application will be unsecure (http). If you want to run the app more securely, when creating your app, specify the --tls tag

This will create a self-signed certificate. Using the latest security protocols, the application can run on the latest version of TLS (1.3).

You can secure or unsecure an app by using the native commands available in Saber.

Configuration

Each app created with Saber is configurable. You can enable or disable features that matter to you and how you want your environment setup.

When a new app is created, all the NGINX and PHP config is stored in a lemp folder within' the root

The NGINX config for each app can be found in:

The PHP config for each app can be found in:

Don't forget to restart the containers if you make changes to these files

H5BP

Saber utilises the awesome H5BP project which keeps the application secure and up-to-date with the latest fixes.

Remove an App

You can remove an app if you no longer require it.

This will remove the certificates, the PHP and NGINX configurations and the code folder.

Switch PHP Versions

Using the use command you can switch PHP versions easily!

By default, Saber encourages you to use stable versions of PHP. You can overwrite this by supplying a --force option that will allow you to use other PHP versions.

Example:

Secure an App

By default, apps aren't secure - they're running on HTTP. If you want your app to run over HTTPS you can run the secure command which will assign an SSL certificate to your app.

The SSL certificates are self-signed.

If you added an SSL on creation of your app, or you made a mistake and want to start over, you can perform the reverse of this and remove an SSL certificate

Upgrade

The images used to build your environment are often updated by the maintainers of the image, resulting in newer versions and secrity fixes. Normally to upgrade a version of PHP or MySQL it would take many hours to upgrade it manually or lots of tedious tickets or phone calls with your hosting provider.

Saber will pull down the newest versions of the images you want to upgrade and rebuild the containers.

Run the upgrade command, and you'll be presented with a list of images stored locally on your machine

Choose the image you want to update by typing the corrosponding number and the image will be pulled down and the containers will be rebuilt.

If you want update multiple images, select the image number in a commar separated value, e.g.

and those images will be updated.

Images cannot be updated simultaneously, they will be pulled one at a time before been rebuilt

Uninstall

Not your cup of tea? That's okay, you can uninstall Saber from your machine - but you will lose everything!

Contribute

:rotating_light: I encourage you to help me make this tool even more useful! I will be adding more features to it over time.

:bug: There are bound to be some bugs hiding away that have not been counted for - help me get rid of them by creating an issue.

:arrow_down: Please, submit a Pull Request and help me make this tool even better. I'm looking forward to working with other developers on this.

Contact

Feel free to get in touch! I'm contactable on Twitter @cmellor


All versions of saber with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1.3
illuminate/container Version ~5.1 | ^6.0
symfony/console Version ~3.0 | ~4.0
symfony/filesystem Version ~3.0 | ~4.0
symfony/finder Version ~3.0 | ~4.0
symfony/process Version ~3.0 | ~4.0
mnapoli/silly Version ^1.7
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package cjmellor/saber contains the following files

Loading the files please wait ....