PHP code example of arhone / construction

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

    

arhone / construction example snippets



use arhone\construction\builder\Builder;

class Alias {

    public function get () {

        return 'test';

    }

}

$builder = new Builder();

$builder->instruction([
    'Alias' => [
        'class' => 'Alias'
    ]
]);

/**
 * @var $alias \Alias
 */
$alias = $builder->make('Alias');
echo $alias->get();


use arhone\construction\builder\Builder;

$builder = new Builder();

$builder->instruction([
    'Alias' => [
        'class' => 'ClassNameAlias'
    ]
]);

$object = $builder->make([
    'class' => 'ClassName',
    'construct' => [
        ['Alias'],
        [
            'class' => 'ClassName2'
        ]
    ],
    'method' => [
        'config' => [
            [
                'array' => $config
            ]
        ]
    ]
]);


use arhone\construction\builder\Builder;

$builder->instruction((


return [
    'Alias1' => [
        'class' => 'ClassName1'
    ],
    'Alias2' => [
        'class' => 'ClassName2'
    ]
];


class Test {

    public $text = 0;
    public function one () {

        $this->text = 1;
        return $this;

    }

    public function two () {

        $this->text = 2;
        return $this;

    }

    public function result () {

        return $this->text;

    }

}

echo $builder->make([
    'class' => 'Test',
    'method' => [
        'one' => [
            'chain' => true
        ],
        'two' => [
            'chain' => true
        ],
        'result' => [
            'chain' => true // Если поставить false, вернёт не 2 а то, что вернул метод two, то есть объект Test
        ]
    ]
]); // Вернёт 2


return [
    'myFunc' => [
        'callback' => function ($name) {
            return 'Привет ' . $name;
        },
        'argument' => [
            [
                'string' => 'Вася'
            ]
        ]
    ]
];


echo $builder->make('myFunc');


return [
    'myFunc' => [
        'callable' => function ($name) {
            return 'Привет ' . $name;
        }
    ]
];


$myFunction = $builder->make('myFunc');
echo $myFunction('Вася');


return [
    'myArray' => [
        '


return [
    'myArray' => [
        'array' => [1,2,3]
    ]
];


return [
    'myArray' => [
        'array' => 'строка'
    ] // Вернёт массив ['строка']. Равносильно (array)'строка';
];


return [
    'Alias1' => [
        'class' => 'ClassName'
    ],
    'Alias2' => [
        'alias' => 'Alias1'
    ],
    'Alias3' => ['Alias2'] // У типа "alias" есть сокращённая форма. Вы просто не указываете тип, по умолчанию это будет "alias"
];


return [
    'Alias' => [
        'instruction' => 


return [
    'Alias' => 


return [
    'class' => 'ClassName'
];


use arhone\construction\builder\Builder;
, // Создавать новый экземпляр класса или нет, если это не указано в инструкциях
    'clone' => true, // Клонировать объекты или нет, если это не указано в инструкциях
]);