Skip to content

Latest commit

 

History

History
173 lines (130 loc) · 3.98 KB

4.D.-Reference-Global-Package-Methods.md

File metadata and controls

173 lines (130 loc) · 3.98 KB
layout class title description menu_title menu
documentation
page-docs
Global Package Methods - Developing - Cradle
Global Package Methods are virtual methods defined in the bootstrap folder to allow you to manipulate it on your custom projects.
Global Package Methods
path config service redirect requireLogin flash translate template handlebars
4.D.1. path()
4.D.2. config()
4.D.3. service()
4.D.4. redirect()
4.D.5. requireLogin()
4.D.6. flash()
4.D.7. translate()
4.D.8. template()
4.D.9. handlebars()

4.D Global Package Methods

Global Package Methods are virtual methods accessible using cradle('global'), cradle()->package('global') or $this->package('global') depending on which scope you are in. The majority of the Global Package Methods are defined in the /bootstrap folder to allow you to manipulate it on your custom projects.

4.D.1. path()

Given a key, returns the absolute path relative to your project. The possible keys are as follows.

  • root - [root path]
  • app - [root path]/app
  • bootstrap - [root path]/bootstrap
  • config - [root path]/config
  • module - [root path]/module
  • compiled - [root path]/compiled
  • public - [root path]/public
  • upload - [root path]/upload
  • template - [root path]/template
  • vendor - [root path]/vendor
Usage 1
cradle('global')->path('config');

You can also set more paths like the following example.

Usage 2
cradle('global')->path('foo', __DIR__ . '/bar');

4.D.2. config()

Retrieves a configuration from your /config/ folder.

Usage 1
//returns the array found in config/settings.php
cradle('global')->config('settings');

//returns the value of environment found in config/settings.php which is 'dev'
cradle('global')->config('settings', 'environment');

You can also write to a configuration file like the following example.

Usage 2
//sets foo to bar in config/settings.php
cradle('global')->config('settings', 'foo', 'bar');

//creates a file config/foobar.php and sets foo to bar
cradle('global')->config('settings', 'foobar', [
    'foo' => 'bar'
]);
Make sure you chmod 777 your config folder

4.D.3. service()

Returns a service object.

Usage 1
cradle('global')->service('sql-main'); //--> PDO

cradle('global')->service('elastic-main'); //--> Elasticsearch\ClientBuilder

cradle('global')->service('redis-main'); //--> Predis\Client

cradle('global')->service('rabbitmq-main'); //--> PhpAmqpLib\Connection\AMQPLazyConnection
If the key you provide is not a supported service, the array configuration will
return.

4.D.4. redirect()

A wrapper to redirect to another URL

Usage
cradle('global')->redirect('/some/path');

4.D.5. requireLogin()

Checks to see if the user is logged in and redirects to the login page if not.

Usage
cradle('global')->requireLogin();

4.D.6. flash()

Sets a flash message that will be consumed on the next URL request.

Usage
cradle('global')->flash('Something good happened', 'success');

cradle('global')->flash('Something happened', 'warning');

cradle('global')->flash('Something bad happened', 'error');

cradle('global')->flash('Something', 'info');

4.D.7. translate()

Translate the given string based on the current language

Usage
$name = cradle('global')->translate('Name'); //--> nom

4.D.8. template()

Renders a template using Handlebars.

Usage
$handlebars = cradle('global')->template('/path/to/template', [
    'foo' => 'bar',
    'zoo' => 'Went to the zoo.'
]);

4.D.9. handlebars()

Returns the global Handlebars instance

Usage
$handlebars = cradle('global')->handlebars();