コード例 #1
0
ファイル: KodaTest.php プロジェクト: bzick/koda
 /**
  * @group dev
  */
 public function testObject()
 {
     $object = \Koda::object(Samples::class, ["index" => 16]);
     $this->assertEquals(new Samples(), $object);
     $object = \Koda::object(SampleObject::class, ["index" => 16, "factory" => 64, "inject" => 3], ["injector" => function (ArgumentInfo $info, $value) {
         return $value . "2";
     }, "factory" => function (ArgumentInfo $info, $value) {
         return new \ArrayObject(["param" => $value]);
     }]);
     $this->assertEquals(new SampleObject(16, 32, new \ArrayObject(["param" => 64])), $object);
 }
コード例 #2
0
ファイル: run.php プロジェクト: bzick/koda
<?php

require_once __DIR__ . '/../vendor/autoload.php';
class Example
{
    public function __construct()
    {
    }
    /**
     * Calculate of hypotenuse
     * @param float $leg1 (unsigned)
     * @param float $leg2 (unsigned)
     * @param int $round (value 1..6)
     * @return float
     */
    public function hypotenuseCalc($leg1, $leg2, $round = 2)
    {
        var_dump("=======", $leg1, $leg2, $round);
        return round(sqrt($leg1 * $leg1 + $leg2 * $leg2), $round);
    }
    public function test()
    {
    }
}
$class = new Koda\ClassInfo('Example', Koda\ClassInfo::FLAG_OBJECT, "*Calc");
var_dump(json_encode($class, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
//var_dump(Koda::call([new Example(), 'hypotenuseCalc'], ['leg2' => 3, 'leg1' => 4]));
var_dump(Koda::object(Example::class));