PHPackages                             dtl/slinp - 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. dtl/slinp

AbandonedArchivedProject[Framework](/categories/framework)

dtl/slinp
=========

Slinp RAD PHPCR Web Framework

71[3 PRs](https://github.com/slinp/slinp/pulls)PHP

Since May 30Pushed 11y ago4 watchersCompare

[ Source](https://github.com/slinp/slinp)[ Packagist](https://packagist.org/packages/dtl/slinp)[ RSS](/packages/dtl-slinp/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (6)Used By (0)

Slinp
=====

[](#slinp)

[![Build Status](https://camo.githubusercontent.com/da8fc2a537d9a663cf65600dabb017df3eea73cf142b234b99c70b75447149cb/68747470733a2f2f7472617669732d63692e6f72672f64616e746c656563682f736c696e702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/dantleech/slinp)

**WARNING**: This is under heavy development!

Slinp is a RAD (Rapid Application Development) Web Framework for PHPCR, using Symfony. It shares similar ideas with the Apache Sling project.

One of the goals of Slinp is to have *zero* configuration by default. It will achieve this by expecting classes to be defined in specific locations and falling back as necessary if they do not exist.

Routing
-------

[](#routing)

Slinp **maps incoming requests** to a path in the PHPCR content repository. The **node type** of the resource (i.e. node) at the path is then used to determine which controller to use.

The routing works like this:

- Incoming HTTP request: `/foobar`
- Map request to PHPCR path: `/slinp/root/foobar`
- Get node type of node at `/slinp/root/foobar` =&gt; `slinp:article`
- Determine bundle and controller name: `SlinpBundle:Article`
- Read the routes from annotations in the controller
- Route the request!

An example controller looks like this:

```
