Download the PHP package shudd3r/skeletons without Composer

On this page you can find all versions of the php package shudd3r/skeletons. 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 skeletons

Shudd3r/Skeletons

Latest Stable Version Build status Coverage status PHP version

Template engine for package skeletons

Feels like you're repeating yourself every time you start a new project?\ This package might help you automate some stuff!

Skeleton packages are used to maintain consistent structure of document (LICENSE, README etc.) & dev environment files (tool configs, workflows, scripts) across multiple packages & projects. This library allows building skeleton package scripts capable of:

Basic Usage

Before diving into details you can learn some basics about skeleton scripts by browsing files (or playing with to some extent) embedded skeleton package example.

Neither applications nor libraries will use this package directly, but as a command line tool of the skeleton package they were built with (dev dependency). To avoid conflicts it is released as a standalone package that doesn't use any production dependencies, and php version compatibility is the only limitation.

Skeleton package

Here's a list of main steps to create and use skeleton package - following sections will cover template & script files in more details:

Executable script file

Entire script that uses this library might look like attached example-skeleton file.

Scripting features:
Setup steps:

Command line usage

Available <command> values:

Application <options>:

Available <argument> names depend on placeholders configured in application. Currently, built-in placeholders can receive their values from following arguments:

Values that contain spaces should be surrounded with double quotes. For example following command for example-skeleton script would update package description:

When both --interactive option and placeholder arguments are provided, valid argument values will become default for empty input.

Template files

Project file structure controlled by skeleton will reflect template directory, and placeholders within its files will be replaced. Check out template directory in example skeleton package

Directive suffixes

Behavior of some template files can be modified by adding a suffix to their names:

Empty directories

Empty directories cannot be committed, but by convention .gitkeep dummy files may be used to enforce directory structure when no files are specified. Dummy files should be removed when other files in required directory are present.

Skeleton script will create essential or remove redundant .gitkeep files with init, update & sync command, and package with redundant or missing dummy files will be marked as invalid by check operation. Contents of these files are not validated and placeholders are not replaced.

In example template src and tests directories are required, but on initialization src/Example.php and tests/ExampleTest.php files will be created and .gitkeep file will be ignored, but when these files are removed (and no other file is added) .gitkeep will become necessary and sync command should be used to keep package compliant with the template.

Placeholders

Placeholder consists of its name surrounded by curly braces. Script defines what kind of replacement given placeholder represents. For example, application configured the following way will replace {namespace.src} with given namespace value:

Placeholder subtypes

Replacement, beside direct value may define its subtypes. For example SrcNamespace replacement defined above will also replace {namespace.src.esc} with escaped backslashes used in composer.json file, and PackageName has {*.composer} subtype that gives normalized packagist package name in lowercase.

Original Content placeholder

{original.content} is a special built-in placeholder that represents places where project specific text might appear. It's useful especially for README files, where skeleton cannot dictate its entire content. Template can also define initial/default value for it, and single template file can use this placeholder multiple times. For example README file that is expected to contain concrete sections might be defined as follows:

Custom Template processing

Some files that change dynamically throughout project lifetime cannot be handled in a simple, text expanding way like, for example,README.md. This is where custom templates might be used.

This package comes with Merged Json Template as the only one file-based template.

Merged Json Template

This custom template can handle normalization & merging of generated .json template files with corresponding files existing in developed package like composer.json. In short, skeleton file can define order of keys, but doesn't have to specify their values. It will also ensure same order of keys in repeating (list) structures. Adding key in the wrong position will require synchronization which will merge & normalize skeleton with existing file (and create backup copy). For details check out MergedJsonTemplateTest file.


All versions of skeletons with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4 || ^8.0
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 shudd3r/skeletons contains the following files

Loading the files please wait ....