PHP code example of rosalana / core

1. Go to this page and download the library: Download rosalana/core 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/ */

    

rosalana / core example snippets


use Rosalana\Core\Support\ConfigBuilder;

// Add or update a config section
ConfigBuilder::new('basecamp')
    ->add('secret',"env('ROSALANA_APP_SECRET', 'secret')")
    ->comment(
        'Connection settings for Basecamp (central server).',
        'Basecamp Connection'
    )
    ->save();

// Update a published version tag
ConfigBuilder::get('published')
    ->set('rosalana/xx', '1.0.0')
    ->save();

namespace Rosalana\Core\Providers;

use Rosalana\Core\Contracts\Package;

class Core implements Package
{
    public function resolvePublished(): bool
    {
        // Self determining if the package is published
    }

    public function publish(): array
    {
        // Define what publish and how
        // (CLI will handle publish all automatically)
        return [
            'stuff' => [
                'label' => 'Publish some stuff',
                'run' => function () {
                    // Process publishing...
                }
            ],
        ];
    }
}

use Rosalana\Core\Facades\Pipeline;

Pipeline::resolve('user.login')->extend(MyLoginHandler::class);

use Rosalana\Core\Facades\Pipeline;

Pipeline::extendIfExists('user.login', fn ($response, $next) => /* do something */);

use Rosalana\Core\Facades\Pipeline;

Pipeline::resolve('user.login')->run($request);

$response = Basecamp::get('/users/1');

$response = Basecamp::withAuth($token)
    ->withPipeline('user.login')
    ->post('/login', $credentials);

use Rosalana\Core\Services\Basecamp\Service;

class UsersService extends Service
{
    public function get(int $id)
    {
        return $this->manager->get("users/{$id}");
    }

    public function login(array $credentials)
    {
        return $this->manager->withPipeline('user.login')
            ->post('login', $credentials);
    }
}

use Rosalana\Core\Services\Basecamp\Manager;

public function register()
{
    $this->app->resolving('rosalana.basecamp', function (Manager $manager) {
        $manager->registerService('users', new UsersService());
    });
}

Basecamp::users()->get(1);
Basecamp::users()->login(['email' => '[email protected]', 'password' => '...']);
bash
php artisan rosalana:publish