PHPackages                             uwdoem/framework - 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. [Framework](/categories/framework)
4. /
5. uwdoem/framework

Abandoned → [athens/core](/?search=athens%2Fcore)Library[Framework](/categories/framework)

uwdoem/framework
================

Modern web framework in PHP for academic environments

0.35.3(8y ago)12023MITPHP

Since Aug 31Pushed 8y ago1 watchersCompare

[ Source](https://github.com/UWEnrollmentManagement/Framework)[ Packagist](https://packagist.org/packages/uwdoem/framework)[ RSS](/packages/uwdoem-framework/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (203)Used By (0)

[![Build Status](https://camo.githubusercontent.com/993313dc9b679fdd9dcd3d72a078841a42d9c104f98feec2c29deb1cdec827e7/68747470733a2f2f7472617669732d63692e6f72672f417468656e734672616d65776f726b2f436f72652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/AthensFramework/Core)[![Code Climate](https://camo.githubusercontent.com/27f8d357dd32f78f27aa317efe5ffd6c902070e053552842fe86199cd4ff44ac/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f417468656e734672616d65776f726b2f636f72652f6261646765732f6770612e737667)](https://codeclimate.com/github/AthensFramework/core)[![Test Coverage](https://camo.githubusercontent.com/f71d18a16b0359cee8c6a922e8f28260ccbf9e5a6fe6ba1488479372a8e1d0c4/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f417468656e734672616d65776f726b2f636f72652f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/AthensFramework/core/coverage)[![Latest Stable Version](https://camo.githubusercontent.com/4aef5bfb9642de89e3f0c11a4bdf358d645005cbf9d091b24966c8604cf52345/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f617468656e732f636f72652e7376673f6d61784167653d32353932303030)](https://packagist.org/packages/athens/core)

Athens/Core
===========

[](#athenscore)

*Athens* is a modern PHP web framework built within the University of Washington's Department of Enrollment Management.

!\[Athens in action\](doc/assets/images/demo.png) \*Easily create forms and manage submission results in\* Athens \*created web applications\* Applications built within *Athens* are:

1. Secure

```
*Athens* automatically provides strong protection against a number of web attacks, including CSRF, XSS, and database injection.

*Athens* also provides easy, seamless encryption for sensitive student information. Encrypting a database column requires a simple declaration in your model schema for each data-field you want to protect. Calls to and from the database on that encrypted data are transparent; *Athens* knows which fields are encrypted and handles the encryption/decryption behind the scenes.

```

2. Attractive

```
*Athens* includes beautiful page templates and user-interface elements. These default templates can be easily overridden with custom themes to implement your own organization's brand.

```

3. Legible

    *Athens* separates declaring *what elements shall be on a page* from *what those elements should look like* and the logic of *how those elements should behave*. Under this model, creating a page is not much more complicated than simply listing the presentational elements that should be present.
4. Extensible

```
This separation of concerns also promotes reusability of components: a web-displayed table can be turned into Excel by changing a single line of code; a web-displayed form can be presented as a PDF by changing a single line of code. Adding a column to a table takes only one line, and in most cases *Athens* will be able to populate that column from the database without any further instruction.

```

Starting an Application
=======================

[](#starting-an-application)

For help installing *Athens* and beginning a new application, see the [application creation tutorial](doc/application-creation.md).

Installation
============

[](#installation)

This library is published on packagist. To install using Composer, add the `"athens/core": "0.*"` line to your `"require"` dependencies:

```
{
    "require": {
        ...
        "athens/core": "0.*",
        ...
    }
}

```

Because Athens depends on multiple other libraries, it is *highly* recommended that you use [Composer](https://getcomposer.org/) to install this library and manage dependencies.

Example
=======

[](#example)

Athens uses classes generated by [PropelORM](http://propelorm.org/) to store and retrieve database rows. First, we define a student class in schema.xml:

```

```

Now we can use Propel to generate a `Student` instance and create a form which will store the student in the database:

```
