This repository has been archived by the owner on May 26, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Put back README and composer.json info
- Loading branch information
Showing
2 changed files
with
16 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters