Apify is a small and powerful open source library that delivers new levels of developer productivity by simplifying the creation of RESTful architectures. It helps development teams deliver quality web services and applications in reduced amounts of time. If you are familiar with the Zend Framework, then you already know how to use Apify. Take a look at the UsersController class.
Web services are a great way to extend your application, however, adding a Web API to an existing web application can be a tedious and time-consuming task. Apify was developed to ease that pain. It takes certain common patterns found in most web services and abstract them so that you can quickly write Web APIs without having to write too much code.
You can see it in action here: http://www.youtube.com/watch?v=7ptoB0yCsDo
- Small and simple web application.
- Easy to install, easy to use and easy to extend.
- Powerful to satisfy most requirements.
- Standalone. Works with any existing website (just unzip the files to your server and it's ready to use).
- Supports the following API styles: Twitter, Delicious, Scribd, Yahoo! Upcoming, Microsoft Zoom.it, and more.
- OOP-compliant architecture.
- Explicit Request and Response classes.
- RESTful URL mappings.
- Easy API versioning.
- Out of the box support for the following representations: JSON, XML, RSS and HTML.
- Content type negotiation.
- Encourages proper use of HTTP response codes.
- Domain models with out-of-the-box default implementations and input validation.
- PHP 5.2 or greater.
- MySQL and PDO_MYSQL driver (optional).
- Download the .zip or .tar.gz file from the GitHub website and decompress it.
- Upload the files to your web server via FTP, SFTP or SSH.
- Create a MySQL database and user/password.
- Import the schema.sql file into your database.
- Open the config.php file and set your database settings.
- Make sure the pdo_mysql PHP extension for MySQL is enabled.
The debugger is enabled by default. You can always turn it off by setting the "debug" option to false in the config.php file.
To demonstrate the possibilities of Apify and to show how it works, I've created http://www.apifysnippets.com, a web application/service that allows Facebook users to submit posts, vote and add comments.
We use GitHub as issue tracker. Bug reports are incredibly helpful, so take time to report bugs and request features in our ticket tracker.
The best ways to contribute are by finding and reporting bugs, writing tests for bugs, and improving the documentation. We're always grateful for patches to Apify's code. If you want to change the code, be careful follow our design-decisions. Be especially careful not to increase complexity if you don't have a really good reason.
- If you encounter any problems, please use the issue tracker.
- For updates follow @fedecarg on Twitter.
- If you like Apify and use it in the wild, let me know.
- Copyright (c) 2011, Kewnode Ltd. All rights reserved.