PHP code example of code-distortion / staticall

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

    

code-distortion / staticall example snippets


use CodeDistortion\Staticall\Staticall; // <<<

class MyClass
{
    use Staticall; // <<<

    private function staticallMyMethod(): string // <<<
    {
        return 'hello';
    }
}

MyClass::myMethod(); // "hello"

// is equivalent to

$myObject = new MyClass();
$myObject->myMethod(); // "hello"

// (both will work)

MyEmail::recipient('Bob', '[email protected]')->send();
MyEmail::attach('file.zip')->recipient('Bob', '[email protected]')->send();

use CodeDistortion\Staticall\Staticall;

class MyClass
{
    use Staticall;

    private function staticallMyMethod(): string
    {
        return $this->staticallMethodCallWasStatic() // <<<
            ? 'called statically'
            : 'called non-statically';
    }
}

MyClass::myMethod();   // 'called statically'

$myObject = new MyClass();
$myObject->myMethod(); // 'not called statically'

use CodeDistortion\Staticall\Staticall;

class MyClass
{
    use Staticall;

    private function staticallMyMethodA(): array
    {
        $calledStatically = $this->staticallMethodCallWasStatic()
            ? 'called statically'
            : 'called non-statically';

        return [
            'myMethodA' => $calledStatically,
            'myMethodB' => $this->myMethodB(), // <<<
        ];
    }

    private function staticallMyMethodB(): string
    {
        return $this->staticallMethodCallWasStatic()
            ? 'called statically'
            : 'called non-statically';
    }
}

MyClass::myMethodA();
// [ 'myMethodA' => 'called statically',
//   'myMethodB' => 'called non-statically' ]