agavi

A powerful, scalable PHP5 application framework that follows the MVC paradigm

Github stars Tracking Chart

Agavi

Purpose

Agavi is a powerful, scalable PHP5 application framework that follows the MVC
paradigm. It enables developers to write clean, maintainable and extensible
code. Agavi puts choice and freedom over limiting conventions, and focuses on
sustained quality rather than short-sighted decisions.

Agavi is designed for serious development. It is not a complete website
construction kit but rather a skeleton over which you build your application.
The architecture of Agavi allows developers to retain very fine control over
their code.

Agavi strives to leave most implementational choices to the developers. Agavi's
components are inherently extensible, and the framework itself is designed
around a XML-based configuration system that provides a very flexible
environment.

The framework works for almost all kinds of applications but excels most in
large codebases, long-term projects, extreme cases of integration and other
special situations. Creating an application that is accessible not only as
a standard web application but also via a commandline interface or standards
like HTTP, SOAP or even XML-RPC is a perfectly valid use case.

Requirements and installation

  • PHP v5.2.0+ (recommended is 5.2.8 or higher)
  • required: libxml, dom, SPL, Reflection and PCRE
  • optional: xsl, tokenizer, session, xmlrpc, soap, PDO, iconv, gettext, phing

See the installation guide
in the tutorial for some details. Installation via Composer/Packagist
and git clone is not mentioned there, but available by typing composer require agavi/agavi [optional version]. Adding Agavi manually as a vendor
library requirement to the composer.json file of your project works as well:

{
    "require": {
        "agavi/agavi": "~1.0.0"
    }
}

Alternatively, you can download a release archive from the github releases
page and extract it or see the downloads page on the homepage.

Documentation

An introduction into Agavi can be found in form of a tutorial
for a blog application. There are API docs
and an official FAQ as well as slightly outdated WTF
and blog. A useful FAQ for developers
may help with common questions while browsing the source files with their docs is always an option.

Support

To get support have a look at the support page on the homepage.
There are mailing lists to join and a helpful freenode IRC channel
named #agavi to get you up to speed (irc://irc.freenode.org/agavi).
The IRC channel logs are available for the
curious that are interested in past conversations.

Contribution

Discussing issues on the mailing lists or in github issues as well as talking
about problems and features in the IRC channel is always of good help to
everyone. If you want to do more please contribute by forking
and sending a pull request. More
information can be found in the CONTRIBUTING.md file.

Changelog

See the latest changes in the repository CHANGELOG or on the homepage.
The 1.0 release notes or upcoming release notes
may be helpful as well.

License

Agavi is licensed under the LGPL 2.1.
See the Open Source Initiative
and this FAQ entry
for details. All relevant licenses and details can be found in the LICENSE file.

  • Total Composer downloads: Composer Downloads

Overview

Name With Ownermetalsmith/metalsmith
Primary LanguageJavaScript
Program languageShell (Language Count: 2)
Platform
License:MIT License
Release Count90
Last Release Namev2.6.3 (Posted on 2024-03-05 02:03:34)
First Release Namev0.0.1 (Posted on )
Created At2014-02-04 03:46:22
Pushed At2024-04-16 23:17:49
Last Commit At2024-03-05 02:03:32
Stargazers Count7.8k
Watchers Count103
Fork Count626
Commits Count518
Has Issues Enabled
Issues Count252
Issue Open Count25
Pull Requests Count82
Pull Requests Open Count6
Pull Requests Close Count57
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top