Skip to content
This repository has been archived by the owner on May 26, 2023. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Put back README and composer.json info
  • Loading branch information
akrabat committed Feb 3, 2014
1 parent 8f10afa commit 4119b4a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 97 deletions.
98 changes: 11 additions & 87 deletions README.md
@@ -1,96 +1,20 @@
Apigility Skeleton Application
Apigility Tutorial Application
==============================

See [Create a RESTful API with Apigility](http://techportal.inviqa.com/2013/12/03/create-a-restful-api-with-apigility/) on techPortal.

Installation
------------

### Via release tarball

Grab the latest release via the [Apigility website](http://apigility.org/)
and/or the [releases page](https://github.com/zfcampus/zf-apigility-skeleton/releases).
At the time of this writing, that URI is:

- https://github.com/zfcampus/zf-apigility-skeleton/releases/download/0.8.0/zf-apigility-skeleton-0.8.0.tgz

Untar it:

```bash
tar xzf zf-apigility-skeleton-0.8.0.tgz
```

### Via Composer (create-project)

You can use the `create-project` command from [Composer](http://getcomposer.org/)
to create the project in one go:

```bash
curl -s https://getcomposer.org/installer | php --
php composer.phar create-project -sdev zfcampus/zf-apigility-skeleton path/to/install
```

### Via Git (clone)

First, clone the repository:

```bash
git clone https://github.com/zfcampus/zf-apigility-skeleton.git # optionally, specify the directory in which to clone
cd path/to/install
```

At this point, you need to use [Composer](https://getcomposer.org/) to install
dependencies. Assuming you already have Composer:

```bash
composer.phar install
```

### All methods

Once you have the basic installation, you need to put it in development mode:

```bash
cd path/to/install
php public/index.php development enable # put the skeleton in development mode
```

Now, fire it up! Do one of the following:

- Create a vhost in your web server that points the DocumentRoot to the
`public/` directory of the project
- Fire up the built-in web server in PHP (5.4.8+) (**note**: do not use this for
production!)

In the latter case, do the following:

```bash
cd path/to/install
php -S 0.0.0.0:8080 -t public public/index.php
```

You can then visit the site at http://localhost:8080/ - which will bring up a
welcome page and the ability to visit the dashboard in order to create and
inspect your APIs.

### NOTE ABOUT USING THE PHP BUILT-IN WEB SERVER

PHP's built-in web server did not start supporting the `PATCH` HTTP method until
5.4.8. Since the admin API makes use of this HTTP method, you must use a version
>= 5.4.8 when using the built-in web server.

### NOTE ABOUT OPCACHE
* Clone or download this repository
* `$ composer.phar install`
* Copy data/music.db.dist to data/music.db
* run `$ php public/index.php development enable`

**Disable all opcode caches when running the admin!**

The admin cannot and will not run correctly when an opcode cache, such as APC or
OpCache, is enabled. Apigility does not use a database to store configuration;
instead, it uses PHP configuration files. Opcode caches will cache these files
on first load, leading to inconsistencies as you write to them, and will
typically lead to a state where the admin API and code become unusable.
Run
---

The admin is a **development** tool, and intended for use a development
environment. As such, you should likely disable opcode caching, regardless.
* `php -S 0:8080 -t public/ public/index.php`
* `curl -s -H "Accept: application/vnd.music.v1+json" http://localhost:8080/albums`

When you are ready to deploy your API to **production**, however, you can
disable development mode, thus disabling the admin interface, and safely run an
opcode cache again. Doing so is recommended for production due to the tremendous
performance benefits opcode caches provide.
15 changes: 5 additions & 10 deletions composer.json
@@ -1,21 +1,16 @@
{
"name": "zfcampus/zf-apigility-skeleton",
"description": "Skeleton Application for Apigility",
"name": "akrabat/apigility-music-api",
"description": "Apigility music tutorial",
"type": "library",
"license": "BSD-3-Clause",
"keywords": [
"api",
"apigility",
"framework",
"zf2"
"zf2",
"tutorial"
],
"homepage": "http://apigility.org/",
"support": {
"email": "apigility-users@zend.com",
"irc": "irc://irc.freenode.net/apigility",
"source": "https://github.com/zfcampus/zf-apigility-skeleton",
"issues": "https://github.com/zfcampus/zf-apigility-skeleton/issues"
},
"homepage": "https://github.com/akrabat/apigility-music-api",
"config": {
"process-timeout": 5000
},
Expand Down

0 comments on commit 4119b4a

Please sign in to comment.