Skip to content
This repository

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

Merge branch '1.0'

Conflicts:
	CHANGELOG
latest commit b0bb977f5b
David Zülke dzuelke authored
Octocat-spinner-32 bin bump copyright years (apparently it is 2011 now :p) May 20, 2011
Octocat-spinner-32 docs Deprecated directive "core.use_routing" in favor of a routing config … January 19, 2008
Octocat-spinner-32 etc Merge branch '1.0' April 05, 2014
Octocat-spinner-32 samples Merge 289aeac (from 1.0) March 03, 2014
Octocat-spinner-32 src Merge branch '1.0' April 05, 2014
Octocat-spinner-32 test Merge bb86ec1 (from 1.0) March 06, 2014
Octocat-spinner-32 tests2 Merge 289aeac (from 1.0) March 03, 2014
Octocat-spinner-32 .gitignore Support installation via composer March 03, 2014
Octocat-spinner-32 .travis.yml Add support for Travis CI, closes #1470 March 03, 2014
Octocat-spinner-32 API_CHANGELOG err, nov3 actually (utc ftw) November 03, 2007
Octocat-spinner-32 CHANGELOG add CHANGELOG entry March 17, 2014
Octocat-spinner-32 CHANGELOG-0.10 new changelog structure January 07, 2009
Octocat-spinner-32 CHANGELOG-0.11 merge changelog and release notes infos from e5c375d July 25, 2009
Octocat-spinner-32 CHANGELOG-0.9 new changelog structure January 07, 2009
Octocat-spinner-32 CHANGELOG-1.0 Merge 1227c80...9e8a5dd (from 1.0) March 17, 2014
Octocat-spinner-32 CONTRIBUTING.md add some more explanations on how to contribute March 17, 2014
Octocat-spinner-32 COPYRIGHT bundle ISO Schematron Skeleton and ISO Schematron ISO SVRL implementa… July 26, 2008
Octocat-spinner-32 INSTALL INSTALL, LICENSE, COPYRIGHT and docs update October 01, 2006
Octocat-spinner-32 LICENSE Unbundle PHPUnit, closes #1158 December 07, 2010
Octocat-spinner-32 LICENSE-AGAVI license cleanup March 09, 2008
Octocat-spinner-32 LICENSE-ICU added ICU license and copyright information in preparation for the up… October 19, 2006
Octocat-spinner-32 LICENSE-SCHEMATRON Updated ISO Schematron to version 2010-04-21, closes #1306 August 16, 2010
Octocat-spinner-32 LICENSE-UNICODE_CLDR updated licensing and copyright information October 01, 2006
Octocat-spinner-32 README.md fix links in readme files March 03, 2014
Octocat-spinner-32 RELEASE_NOTES CHANGELOG, RELEASE_NOTES and UPGRADING for #1475 March 08, 2014
Octocat-spinner-32 RELEASE_NOTES-0.10 new RELEASE_NOTES structure for 0.11 January 08, 2009
Octocat-spinner-32 RELEASE_NOTES-0.11 merge changelog and release notes infos from e5c375d July 25, 2009
Octocat-spinner-32 RELEASE_NOTES-0.9 new RELEASE_NOTES structure for 0.11 January 08, 2009
Octocat-spinner-32 RELEASE_NOTES-1.0 merge e9c5057...5dd424a (from 1.0) December 22, 2011
Octocat-spinner-32 UPGRADING CHANGELOG, RELEASE_NOTES and UPGRADING for #1475 March 08, 2014
Octocat-spinner-32 build.xml merge 3573635...50507cb (from 1.0) July 23, 2011
Octocat-spinner-32 composer.json Support installation via composer March 03, 2014
README.md

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.7"
    }
}

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
Something went wrong with that request. Please try again.