phile-cms/phile

A file-based CMS with a swappable parser, template engine, cache and storage services, error handler, and meta parser.


Keywords
file, twig, plugins, cms, markdown, flat, philecms, php, psr-15, psr-7
License
MIT

Documentation

PhileCMS

Software License Packagist Version Build Status Code Quality Code Coverage

A Markdown file-based CMS written in PHP.

Check out the starter video or read the wiki for in-depth documentation.

Why use PhileCMS?

Phile was forked from Pico when a few community members wanted to contribute more and increase the rate of development. Here is a small list of differences:

  • Object Oriented Design (classes)
  • Events system
  • Replacable core modules (plugins)
    • Parser (default: Markdown)
    • Template Engine (default: Twig)
    • Cache (default: phpFastCache)
    • Error handler (default: Whoops)
    • Meta parser (default: Phile parser)
    • Simple Data Persistence (default: Phile file-based)
  • Per-Plugin config.php files
  • Namespaced plugins so classes can have the same name
  • PSR-0, PSR-1/2, PSR-7/15

Quick Start

Requirements:

  • PHP 7.2.0+
  • a web-server

Download the release from https://philecms.github.io/, copy the files to your web-server and open the root directory in the browser.

Or use composer and run it locally:

composer create-project --no-dev phile-cms/phile;
cd Phile;
php -S localhost:8080;

On a fresh installation you will see a page with a setup instructions. Follow them. For detailed instructions please see the installation help.

Plugins

Phile can be extended with a wide variety of plugins.

Generally a plugin can always be installed manually: clone or download the plugin into plugins/{vendor}/{pluginName} folder. Example: phileRss would be installed into plugins/phile/rssFeed.

Many plugins also allow composer installation:

composer require phile/rss-feed

Always check the plugin readme for specialised installation instruction.

Getting Help

Gitter chat

You can read the wiki if you are looking for examples more development information.

If you find a bug please report it on the issues page, but remember to include a bunch of details and also what someone can do to re-create the issue.

Issues with plugins should be reported on the offending plugins homepage this goes for themes as well.

Contributing

Help make PhileCMS better by checking out the GitHub repository and submitting pull requests. See developer guildlines for more information.