PHP Server Framework

We use PHP for the Server-side code. This PHP server is built on CodeIgniter framework and provides an initial template to help you get started working with web page features.

We provide all the necessary elements for this startup sample to serve as a template. This includes the code for the server-side components. We run the server in a CodeIgniter framework, which is provided as part of the code sample in our GitHub repository. You can use other server side frameworks. CodeIgniter is just used as a sample framework to help you get started learning how to build a multi-feature Player experience.

Review the Server-Side Code

The GitHub repository contains the PHP-based server-side code (CodeIgniter app) that you can use to run the samples. Designed to help you get up and running in very little time, the sample CodeIgniter app is already integrated with the Ooyala PHP SDK (/application/third_party/php-v2-sdk), so there is no need to add anything else. If you already have a server setup, you can adapt the code to your use. Or if you just want to run the code sample, you can clone the repository and copy it to your server. If you clone the repository to your server, you don’t need to implement the PHP framework, as we provide it as part of the code sample.

Where to Find the Code

All of server PHP framework sample code is located in the application directory. To get to this code in our GitHub repository, use the URL:

The server-side files are structured as follows with the relevant server-side code highlighted:
├── application (Main folder where the CodeIgniter application lives)
│   ├── assets  (Folder where we keep our CSS and JS)
│   │   ├──  Web_Example 
│   │   │    └──javascript
│   ├── cache   (CodeIgniter cache, you don't need to worry about this)
│   ├── config  (Here we have all the configuration files, both for CodeIgniter and ooyala. You only need to look at ooyala_config)
│   ├── controllers (This is where the main logic lives. Here we handle routing and passing all the server data to the views)
|       └──  web_example.php  
│   ├── core    (CodeIgniter core. Don't touch this)
│   ├── errors  (CodeIgniter specific)
│   ├── helpers (CodeIgniter specific)
│   ├── hooks   (CodeIgniter specific)
│   ├── language    (CodeIgniter specific)
│   │   └── english (CodeIgniter specific)
│   ├── libraries   (Here you can define your own libraries, and here lives our ooyala.php library )
│   ├── logs        (CodeIgniter specific)
│   ├── models      (CodeIgniter specific)
│   ├── third_party (This folder holds all third-party libraries, helpers, and so forth that you bring to the application)
│   │   └── php-v2-sdk  (This is the Ooyala SDK for php)
│   │       └── test    (This is the test suite for the SDK)
├── system    (CodeIgniter system. You don't need to review or modify this code)

About the Sample CodeIgniter Framework

As you would expect, the main logic for this sample is in the controller directory. For specific interaction with the Ooyala API you should check the ooyala.php file inside the libraries directory. Since we don't use models in this sample, the models folder only has what comes with default CodeIgniter installation.

CodeIgniter is a framework in PHP designed to have as low overhead as possible. It follows an Model-View-Controller (MVC) pattern, where you pass information to the view in the following way:

$this->view->load("name_of_the_view", $data)

CodeIgniter follows a URL path such as the following:


CodeIgniter urls follow a structure like the following:[controller-class]/[controller-method]/[arguments] 

Currently, this example has the following routes:

Route Info
Web_example/web-example Web site example
Web_example/web-example-mobile Mobile web site example

About the Ooyala PHP SDK

The SDK is a client class to interact with Backlot REST API. This sample already has a copy of it at /application/third_party/php-v2-sdk but if you have any doubts or want to check out the source you can find it at:

Was this article helpful?