8000 GitHub - apparat/resource at v0.1.2
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

apparat/resource

Repository files navigation

Apparat Resources

Purpose of this module:

  • Provide an abstract low-level interface for basic file operations
    • Creating
    • Reading
    • Writing / Updating
    • Deleting
    • Copying (= Reading + Writing with a different name)
    • Moving / Renaming
  • Provide an easy-to-use interface for multipart files (e.g. files with YAML front matter)
    • Support for arbitrary content models
      • Parsing
      • Serialisation
    • File part operations
      • Creating
      • Reading
      • Writing / Updating
      • Deleting (?)
      • Copying (?)
  • Reading from / writing to different sources
    • In-Memory
    • File system
    • Standard input / output (?)
    • FTP (?)
    • Remote storage (?)
  • Implementing several file types and structures (see below)
    • Possibly special behaviour based on file type

File types planned to be supported

  • Text
  • Markdown (CommonMark)
  • YAML
  • JSON
  • YFM-Markdown (Markdown with YAML front matter)
  • JFM-Markdown (Markdown with JSON front matter)
  • MIME Messages (?)

Each file consists of one or more file parts. The content model of a file is described in terms of

  • content parts (containing true file content like text or image data) and / or
  • part aggregates (each consisting of one or more subparts).

A part aggregage may either be a

  • part sequence (a predefined sequence of subparts of particular types) or a
  • part choice (one of several allowed subpart types)

and may be repeated more than once.

Installation

This library requires PHP 5.6 or later. I recommend using the latest available version of PHP as a matter of principle. It has no userland dependencies.

Quality

Build Status Coverage Status Scrutinizer Code Quality Code Climate

To run the unit tests at the command line, issue composer install and then phpunit at the package root. This requires Composer to be available as composer, and PHPUnit to be available as phpunit.

This library attempts to comply with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.

About

Apparat resource abstraction layer

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0