Download the PHP package abstract/core without Composer
On this page you can find all versions of the php package abstract/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download abstract/core
More information about abstract/core
Files in abstract/core
Package core
Short Description Componential language using HTML-based syntax to access PHP class and method
License proprietary
Informations about the package core
ARMES
ARMES — Abstract Representation, Mapping & Expression Syntax — is a language for describing structures independently of a particular framework or platform. A mapper interprets those structures for the environment where they will be used.
For example, one UI structure can become HTML, React components, or native application controls through the appropriate mappings. You maintain the shared structure while each environment provides its own representation.
JSON, YAML, and TOML are ways to write ARMES documents. ARMES’s foundation is the structure they describe. UI is one application; ARMES can also describe content, configuration, and other structured models.
Use ARMES to:
- Share structure across applications and platforms.
- Configure content and behavior using capabilities your application provides.
- Update centrally stored structures that compatible applications can load.
An application can load its ARMES structure from a server. Updating that structure can change what the application presents or how it behaves without rebuilding it, provided its installed runtime, mappings, and components already support the change.
Contents
- Architecture
- Language
- Installation
- Extend ARMES
Architecture
- Core: connects the parts and provides the library API.
- Parser: reads a document and builds its tree.
- Tree: stores nodes, properties, and children.
- Runtime: evaluates conditions, calculations, imports, and enabled references.
- Mapper: interprets the structure for a destination.
- Emitter: writes a representation as output when needed.
An HTML mapping can lead to HTML text; a React or NativeScript integration can produce components or native views. Those integrations supply their own mappings. The default core does not install platform components.
This is ARMES’s isomorphic approach: one authored structure interpreted for multiple environments. Each environment can present it differently.
Architecture details →
Language
This complete document describes a Save button. JSON is used here to make its keys visible:
buttonnames the node. Its representation depends on the mapper.@defines its properties:classhas the valueprimary.#defines its children, in order."Save"is a text child.
With the default HTML target:
In node positions, normal keys name nodes; colon-prefixed keys such as :if are ARMES commands. Inside @, keys name properties.
@defines this node’s properties. Start here.:propspatches its direct parent’s properties.:attributesperforms the same patch as:props.
Dynamic expressions can go directly in @; they do not require a patch command.
Language reference →
Every supported key, with examples and rules. Browse Keys, Properties, Logic, Types, Imports, References, and Formats.
Formats shows this same button in YAML, TOML, and ARMES (markup).
Installation
Requirements: PHP 8.2 or later, Composer, and DOM/libxml for markup parsing.
From this package checkout:
The package is armes-lang/core. For another project, configure its Composer repository before requiring it.
Save as example.php beside vendor/ and run php example.php:
- Save source:
$core->sourceJson($tree)preserves editable structure and commands. - Render output:
$core->renderHtml($tree)evaluates commands, maps the result, and writes HTML.
Continue to the API guide for application data, loading documents, mapping, and references.
Compact reference reads
PHP shares the migration/host differences. No new directive variants or executable source engines are introduced.