arc/arc

Ariadne Component Library: All Components

2.1 2016-01-28 15:08 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License

A flexible component library for PHP 5.4+

ARC is a set of components, build to be as simple as possible. Each component does just one thing and has a small and simple API to learn. ARC uses static factory methods to simplify the API while using Dependency Injection. ARC is not a framework. It can be used in combination with any framework or indeed without.

The Ariadne Component Library is a spinoff from the Ariadne Web Application Platform and Content Management System http://www.ariadne-cms.org/. Many of the concepts used in ARC have their origin in Ariadne and have been in use since 2000.

A unique feature in most components is that they are designed to work in and with a tree structure. URL's are based on the concept of paths in a filesystem. This same path concept and the underlying filesystem-like tree is used in most ARC components.

Installation

Via Composer:

$ composer require arc/arc

or start a new project with arc

$ composer create-project arc/arc {$path}

This will download and install all arc components.

But you don't need to do this, you can just download the components you really need instead. Below is a list of components and what they do:

Components

  • arc/base: Common datatypes and functionality shared by all ARC components. Is installed automatically if needed.
  • arc/cache: Cache functionality and a caching proxy class.
  • arc/events: Fire events and listen for them in a tree structure, modelled after the browsers DOM events.
  • arc/config: Configuration management, storing and retrieving configuration settings in a tree structure.
  • arc/web: Simple and correct manipulation of URL's, HTTP Headers and a HTTP client. Also includes a simple intrustion detection component to prevent cross site scripting attacks.
  • arc/xml: Parsing and writing XML made simple.
  • arc/html: Parsing and writing HTML also made simple.
  • arc/grants: Access control management in a tree structure, like a filesystem.
  • arc/prototype: Experimental prototypical inheritance, like javascript.