PHPackages                             carlesjove/a - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. carlesjove/a

ActiveLibrary[Localization &amp; i18n](/categories/localization)

carlesjove/a
============

A micro framework based on file naming

v0.7.0(7y ago)261[1 issues](https://github.com/carlesjove/a/issues)MITPHPPHP &gt;=7.1.0

Since Jan 13Pushed 7y ago1 watchersCompare

[ Source](https://github.com/carlesjove/a)[ Packagist](https://packagist.org/packages/carlesjove/a)[ Docs](https://github.com/carlesjove/a)[ RSS](/packages/carlesjove-a/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

A
=

[](#a)

**A** is a PHP microframework based on file naming, for those times you want to keep things simple. Just name a file `like_this.php` and you'll get a working route `http://example.com/like/this`. No database, no configuration files, no nothing. And it's ready for multilingual sites.

Overview
--------

[](#overview)

**A** is meant for simple sites that do not require database or complex architectures, but still want to have clean URLs and stuff as organized as possible.

#### Features

[](#features)

- Clean URLs based on file naming
- Simple layout system
- Separation of data and presentation
- 404 (Not Found) template for non-existent routes
- Custom functions
- Multilingual sites

#### Requirements

[](#requirements)

- PHP 5 or later
- PHP server running Appache

Usage
-----

[](#usage)

**A** works out of the box, no configuration needed. Download the files and start building your site.

#### URIs and file naming

[](#uris-and-file-naming)

Imagine you want `this/cool/uri` in your site. For it to work, you just need to create a file named `this_cool_uri.php`, and you're done. You probably want a home page for your site, so create a file named `home.php`, and there you go.

#### Layout

[](#layout)

If you create a file named `layout.php` **A** will use it as a wrapper for all pages, and thus you can save some time and keep things cleaner. You just need to include `` where you want each page content displayed. Here's an example:

```
DOCTYPE html>

    My Site

      My Site
