PHP code example of messerli90 / laravel-ghost

1. Go to this page and download the library: Download messerli90/laravel-ghost library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

messerli90 / laravel-ghost example snippets


$post = Ghost::posts()->with('authors')->fromSlug('welcome');

$tags = Ghost::tags()->all();

return [
    /**
     * The API version of your Ghost blog
     *
     * Read about Ghost API Versioning in their docs:
     * https://ghost.org/docs/faq/api-versioning/
     */
    'ghost_api_version' => env("GHOST_API_VERSION", 4),

    /**
     * Your admin domain can be different to your main domain.
     * All Ghost(Pro) blogs have a `.ghost.io` domain
     * as their admin domain and * Cache returned records
         * Set to false if you want to handle caching yourself
         */
        'cache_records' => false,

        /**
         * Prefix key used to save to cache
         * Ex. ghost_posts
         */
        'cache_prefix' => 'ghost_',

        /**
         * How long until cache expires
         * Accepts int in seconds, or DateTime instance
         */
        'ttl' => 60 * 60,
    ]
];

// Using the facade
Ghost::posts()->all();

// or
$ghost = new Ghost($content_key, $domain, string $version);
$ghost->posts()->all();

// All resources returned as an array
Ghost::posts()->all();
Ghost::authors()->all();
Ghost::tags()->all();
Ghost::pages()->all();

// Retrieve a single resource by slug
Ghost::posts()->bySlug('welcome');

// Retrieve a single resource by id
Ghost::posts()->find('605360bbce93e1003bd6ddd6');

// Get full response from Ghost Content API including meta & pagination
Ghost::posts()->paginate();
$response = Ghost::posts()->paginate(15);

$posts = $response['posts'];
$meta = $response['meta'];

Ghost::posts()
    ->with('authors', 'tags')
    ->fields('title', 'slug', 'html')
    ->limit(20)
    ->page(2)
    ->orderBy('title')
    ->get();

public function index()
{
    $posts = Cache::rememberForever('posts',
        fn() => Ghost::posts()->with('authors', 'tags')->all()
    );
    return view('blog.index', compact('posts'));
}
bash
php artisan vendor:publish --provider="Messerli90\Ghost\GhostServiceProvider" --tag="ghost-config"