Tutorial 2: Show list of Posts on App's home screen

The previous tutorial we have added a new menu item to the main menu, but it has no action when clicks on. This tutorial will create new screens for Post app and display a list of posts when clicking on the menu.
Following are step by step of the tutorial

Step 1: Create the primary app Resource

Each app requires a primary Resource to control the app's settings. In this case, we will create Post Resource as the primary Resource. Following is minimal code to make it works.
PostResource.php
<?php
namespace Apps\Posts\Api\Resource;
use Apps\Core_MobileApi\Api\Resource\ResourceBase;
class PostResource extends ResourceBase
{
public $resource_name = "post";
public $module_name = "post";
public $title;
public $description;
public $text;
}
 
The sample code above we create PostResource class extends from ResourceBase class. Override $resource_name and $module_name properties to classify with other apps. All other class's properties consider as fields stores Posts in the database.

Step 2: Implement resource API service

Create PostApi class extends from AbstractResourceApi class and implements MobileAppSettingInterface interface, and all require methods need to be implements will appear. Then implement two methods
Method PostApi::findAll() will handle get all posts restful API. Method PostApi::getAppSetting() register setting of the Post app to the Native Mobile App. Minimal code show as below:
PostApi.php
<?php

namespace Apps\Posts\Api\Service;

use Apps\Core_MobileApi\Adapter\MobileApp\MobileApp;
use Apps\Core_MobileApi\Adapter\MobileApp\MobileAppSettingInterface;
use Apps\Core_MobileApi\Api\AbstractResourceApi;
use Apps\Posts\Api\Resource\PostResource;
class PostApi extends AbstractResourceApi implements MobileAppSettingInterface
{
public function findAll($params = [])
{
$posts = [
new PostResource([
'post_id' => 1,
'title' => "Post's title example",
'description' => "Post's description example",
'text' => "Post's description example"
])
];
return $this->success($posts);
}
public function getAppSetting($param)
{
$app = new MobileApp('post' ,[
'title'=> 'Posts',
'home_view'=>'menu',
'main_resource'=> new PostResource([])
]);
return $app;
}
/* All other methods let emplty for implements later */
}
 
We have finished implement two primary classes of Post application. Now need to register to the Phpfox system

Step 3: Register Post App to Phpfox System

Create new hooks mobile_api_routing_registration.php with the following code
mobile_api_routing_registration.php
<?php
/**