Download the PHP package mades/summer-craft-service-hub without Composer

On this page you can find all versions of the php package mades/summer-craft-service-hub. 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 summer-craft-service-hub

Summer Craft Service Hub

Interfaces and default implementations for the things an application needs but a framework core should not carry: a database layer, logging, mail, an HTTP client, file storage, an HTML parser, CSV, time, process handling. ~8k lines, built on summer-craft-core and nothing else.

It is not a framework and not a collection of site features. Everything here is plumbing behind an interface, so an application can write high-level code against the interface and swap the implementation with an adapter.

Boundaries

What belongs here: general infrastructure with no notion of a site. If a class would still make sense in a CLI tool that serves no pages, this is its layer.

What does not:

The direction of dependencies is the rule that matters: this package uses the core and must never reach for a hub above it. That inversion has happened once here — a time service that imported a User model — and it is the likely reason this code went untested for months.

What is in it

Area What it gives you
Database PDO handler and a small active-record layer (Record, RelationalStorage)
Logger Logger and TaggedLogger interfaces, file and stdout implementations
Email Mailer, queued or direct sending
Network HTTP client over curl
FileStorage file and directory operations behind an interface
HtmlParser two implementations: simplehtmldom and one over DOMDocument
Renderer PHP view rendering
Language volume-based string lookup
Csv, Mime, Modifier, Time, Console, Processes, Waiter narrow helpers, one concern each

Installation

PHP 8.4+ with the curl, pdo and mbstring extensions. psr/log and the core are the only composer dependencies.

Wiring

This package registers nothing by itself — it ships no config loader. Every interface is bound by whoever consumes it, which is what keeps the implementations swappable:

An application built on a hub above inherits those bindings from the hub's config loader; one built straight on the core writes them in its own. Either way the choice of implementation stays with the application.

Minimal example

A record and a repository:

Reading and writing:

Neighbouring packages

Applications consume them as ordinary composer packages. This repository is the exception: it keeps a path repository on the core so that a change there is visible here immediately, which is why the two checkouts have to sit side by side.

Testing

Everything runs in docker, no local PHP needed:

The Makefile mounts the parent directory rather than this one — otherwise the path repository pointing at the core cannot be resolved inside the container.

License

MIT


All versions of summer-craft-service-hub with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
ext-curl Version *
ext-pdo Version *
ext-mbstring Version *
psr/log Version ^3.0
mades/summer-craft-core Version ^0.1
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 mades/summer-craft-service-hub contains the following files

Loading the files please wait ...