Download the PHP package php-enspired/exceptable without Composer

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

how exceptable!

A lot of php code treats exceptions in an ad-hoc way: throwing a plain Exception instance with a message written inline. Then, when (...if?) you look at your error log, you have to start working backwards to figure out the state of the application at that time. This can be frustrating and painful.

Exceptables make exceptions exceptional. Exceptables:

More importantly, when throwing an Exceptable, you can include any additional information that might be helpful - values of arguments or local variables, details about state, whole objects, anything! This context is good for adding details to the error message, but can also be sent to log aggregation tools, and even be used at runtime to inspect the error and recover or fail gracefully.

dependencies

Requires php 8.3 or later.

ICU support requires the intl extension.

installation

Recommended installation method is via Composer:

simply composer require "php-enspired/exceptable:^6"

a quick taste

Having faults available to your application also means you don't have to throw exceptions: your methods can return first-class error values. This approach encourages handling error cases more carefully and closer to their source and is also a benefit to static analysis. See Larry Garfield's excellent article "A Naked Result" for more about this idea and its benefits.

read more in the wiki.

Version 6.0

6.0 requires PHP 8.3 or greater.

It also changes the api fairly substantially in two ways:

Additionally, exceptable is now released under the Mozilla Public License, version 2.

Previously, the software was released under the GPLv3. That license's strong copyleft protections were a major factor in the decision to use it, but it has become apparent that their interpretations of what constitutes "combined works" was much broader than I'd understood it to be. Specifically, merely declaring this package as a dependency (e.g., via composer), without actually modifying and/or including/distributing the code with your software, was never intended to trigger these protections.

If you are using a previous version of this software licensed under the GPLv3, and would prefer to use it under the MPL instead, please contact me. I will grant the relicensing and waive enforcement action against you arising from any noncompliance with the GPLv3, if it would be permissible under the MPL.

Read the release notes.

docs

Usage

Api

tests

You can run unit tests with composer test:unit and static analysis with composer test:analyze.

Note, the first time you run a test: command, dev dependencies will be installed automatically. This requires an internet connection and may take some time.

contributing or getting help

I'm on IRC at libera#php-enspired, or open an issue on github. Feedback is welcomed as well.


All versions of exceptable with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
php-enspired/peekaboo Version 2.0
php-enspired/at_shared_exceptable Version 1.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 php-enspired/exceptable contains the following files

Loading the files please wait ....