Build Social Networks with PHP
Working with the Stream API in the PHP language
PHP was first created in 1994 and is one of earliest and most popular languages for building dynamic web applications. In fact, thanks to the popularity of Wordpress it’s now recognised that 25% of all websites are built with PHP. It’s a great choice for building a Stream powered sites that feature timelines, activity and notification feeds.
The language is well known for being easy to learn. PHP 7 from 2014-15 made some major changes to modernise, improve the language and make it easier to work with. There are also virtually endless options for well priced hosting to keep costs down.
When it comes to building social networking features into special purpose apps or entire social media networks, PHP is a fine choice. In fact, several of the most popular social networks are built with PHP. Facebook is by far the most obvious example and their fork of PHP, known as HHVM allowed them to scale to 1 billion users. Flickr and Tumblr are two other great examples of social applications that grew rapidly and scaled to millions of users with PHP. It makes perfect sense to go with a language that’s already been proven by the sites that pioneered these features and user experiences.
With PHP as a starting point, there are many great frameworks built around the PHP language to simplify and speed up development of your Stream powered applications. We have worked with and can recommend the following:
Getting started: open source API Client
We first started work on an open source PHP API client for Stream in June 2014. Since that time we’ve worked with support from the open source community to keep the in line and well tested with all the latest Stream APIs. We also aim to follow the evolving best practices in the PHP developer community.
The Client API project features a comprehensive phpunit unit test suite and stable Composer packages are published to the Packagist repository. See the stream-php Github project for full details. Contributions in the form of issues, feature suggestions and pull requests are most welcome.