Packages from charm
-
charm/app
A minimalistic application framework, based on a set of minimalistic components.
-
charm/arraybuffer
Typed arrays for structs powered by FFI. Gives you the equivalent of UInt8Array, UInt16Array, UInt32Array, Float64Array and ArrayBuffer in JavaScript.
-
charm/cli
Provides the `charm` cli utility.
-
charm/config
A configuration hub. Used for accessing configuration information.
-
charm/db
PDO wrapper, for those that dislike verbose `PDOStatement` methods but also dislike SQL injection.
-
charm/dispatcher
Creates PSR-7 Server Server Requests for PSR-15 Server Request Handlers and Middlewares from a web server, ReactPHP, Swoole or the command line.
-
charm/error
Just an interface, a trait and two exception classes. Ancestor of all charm/* exception classes.
-
charm/event
A simple event emitter interface and a trait with the methods 'on', 'off' and 'emit'.
-
PHP
charm/exception-middleware
Provides a PSR-15 Middleware which traps exceptions and renders a nice error page.
-
charm/exceptions
Various exception classes with some extra information such as HTTP Status Codes and HTTP Status Messages.
-
charm/fallback-logger
An error logger designed to be a fallback implementation that logs via the PHP error_log() function or to STDERR with colors
-
charm/fsrouter-middleware
A router where routes are defined by file system paths.
-
charm/hooks
A powerful Hooks library, to allow extending and integrating between components.
-
charm/http
A simple and extendable implementation of PSR-7 HTTP message interfaces
-
charm/i18n
Provides a Locale and Collator instance based on a Psr\Http\ServerRequestInterface.
-
-
charm/lexer
A fast and powerful streaming lexer for tokenizing formulas, programming languages or written languages.
-
charm/logger
A simple to use logger. Relies on PSR-3 LoggerInterface.
-
charm/loop
Identical API for ReactPHP, Swoole, AMP and plain PHP.
-
charm/map
A hashmap implementation similar to Map in javascript - allowing keys and values of any data type. A small, thorough and efficient hashmap implementation.
-
charm/model
A data model library. Allows you to declare columns and fields and query them easily using charm/recordset.
-
charm/options
A generic class for storing options while enforcing option types.
-
charm/orm
Maps database tables to objects. Doesn't hide SQL.
-
charm/parsing
A PEG grammar parser, for parsing most context free grammar such as programming languages, database queries and mathematical expressions.
-
charm/phinx
Integration with the `robmorgan/phinx` migrations library.
-
charm/recordset
A library for filtering and sorting rows of data from different sources like database tables, arrays, APIs or CSV files.
-
charm/router
A very fast, tiny single file router implementation. Compatible with PSR Middlware. Takes you from /users/{id:\d+} to `User::profile($id)`. Also in reverse: `$router->url([User::class, 'profile'], 123)` gives you the URL.
-
charm/schema
A simple to use schema validator allowing you to validate strings, numbers, arrays and objects. Modelled after JSON Schema written as PHP arrays.
-
charm/streams
Various utilities to work with streams and resources in PHP.
-
charm/table
An interface for queryable collections such as database tables, arrays, APIs.
-
charm/terminal
Organized and colorful command line output through a simple markup language.
-
charm/tpl
An ultra minimalistic, single file template engine. Uses PHP as the template language, but provides the type of template inheritance you see in Blade or Twig.
-
charm/util-closuretool
Tool to print information about a closure/callback for debugging purposes.
-
charm/util-composerpath
Easily find the project root path (where composer.json is) without touching the filesystem.
-
charm/util-phpencode
A small function that encodes compact PHP arrays, like json_encode - but for PHP arrays.
-
charm/util-url
A library to manipulate URLs.
-
PHP
charm/uuid
A very fast and dependency free library to generate UUIDs (GUIDs) version 1 or 4, sortable UUIDs that validates, or 64 bit unique identifiers according to Twitters' Snowflake, Sonyflake or Instaflake algorithms.
-
charm/vector
A Vector implementation optimized for O(1) performance in operations like random access reads, pop(), push(), shift() and unshift().
-
charm/database
Yet another PDO wrapper. Because I don't like to explicitly prepare and execute and fetch every single query. Can use a PDO instance from you, or it makes a new connection standalone.
Abandoned! See charm/db
-
charm/testing
A tool for running regression and unit testing with very little scaffolding.
Abandoned! See frodeborli/themis