Exemple #1
0
<?php

set_include_path(dirname(__FILE__) . '/../../../../');
require_once 'limb/core/common.inc.php';
require_once 'limb/core/src/lmbObject.class.php';
class Foo extends lmbObject
{
    function getBar()
    {
        return 'bar';
    }
}
$object = new Foo(array('foo' => 'foo'));
// heating_up
for ($i = 0; $i < 1000; $i++) {
    $object->get('foo');
}
$mark = microtime(true);
for ($i = 0; $i < 1000; $i++) {
    $object->get('foo');
}
echo "get('foo'): " . (microtime(true) - $mark) . "\n";
$mark = microtime(true);
for ($i = 0; $i < 1000; $i++) {
    $object->get('bar');
}
echo "get('bar') => getBar(): " . (microtime(true) - $mark) . "\n";
$mark = microtime(true);
for ($i = 0; $i < 1000; $i++) {
    $object->getBar();
}
	public function testUnset()
	{
		$foo = Foo::get('foo3');
		$this->assertEquals(2, count($foo->bars));
		$this->assertEquals('Bar 1', $foo->bars[0]->barbar);
		$this->assertEquals('Bar 2', $foo->bars[1]->barbar);
		
		unset($foo->bars[0]);
		
		$foo = Foo::get('foo3');
		$bar = Bar::get('bar 1');
		$this->assertEquals(1, count($foo->bars));
		$this->assertEquals('Bar 2', $foo->bars[0]->barbar);
		
		$this->assertEquals(1, count($bar->foos));
		$this->assertEquals('Foo 2', $bar->foos[0]->foofoo);
	}
Exemple #3
0
    }
    public function of($target)
    {
        return HermitDaoManager::get($target);
    }
}
class Foo
{
    public function get()
    {
        return HermitDaoManager::get(__CLASS__);
    }
}
class Bar
{
    public function get()
    {
        return HermitDaoManager::get(__CLASS__);
    }
}
$hoge = new Hoge();
$foo = new Foo();
$bar = new Bar();
$test->is($hoge->get(), 'A01Dao');
$test->is($hoge->of('Foo'), 'A02Dao');
$test->is($foo->get(), 'A02Dao');
$test->is($bar->get(), null);
$test->is(HermitDaoManager::has('Hoge'), true);
$test->is(HermitDaoManager::has('Foo'), true);
$test->is(HermitDaoManager::has('A01Dao'), false);
$test->is(HermitDaoManager::has('A02Dao'), false);
var_dump($persond);
var_dump($person3);
class Foo
{
    protected static $prop = 'Foo';
    public static function get()
    {
        echo static::$prop;
        //        Если бы тут был self то наследуемый класс тоже давал бы Foo
    }
}
class Bar extends Foo
{
    protected static $prop = 'Bar';
}
Foo::get();
Bar::get();
class Team
{
    protected $developers = [];
    //    Всегда лучше всё закрывать, то есть лучше использовать protected
    //    Сначала всё закрывать, потом открывать
    public function addDeveloper(Developer $developer)
    {
        array_push($this->developers, $developer);
    }
}
$team = new Team();
//$team->addDeveloper($person);
$team->addDeveloper($person3);
//$team->addDeveloper(666);
<?php

Route::get('user/profile', ['as' => 'profile1']);
Route::get('user/profile', ['as' => 'profile2', function () {
}]);
Route::get('user/profile', ['as' => 'profile3', 'uses' => 'UserController@showProfile']);
Route::get('user/profile', 'UserController@showProfile')->name('profile4');
Foo::get('user/profile', 'UserController@showProfile')->name('foo');
Foo::get('user/profile', ['as' => 'bar']);
Exemple #6
0
	public function testBatchSave()
	{
		$foo = new Foo;
		$foo->ID = 'SomeFoo';
		// No foofoo -> invalid
		
		$bar = new Bar;
		$bar->ID = 'Somebar';
		$bar->barbar = '...';
		$bar->foo = $foo;
		
		try
		{
			DBModel::batchSave(array($foo, $bar));
			$this->fail('Expected exception');
		}
		catch (ValidationException $e)
		{
			$bar2 = Bar::get('Somebar');
			$foo2 = Foo::get('SomeFoo');
			$this->assertNull($bar2);
			$this->assertNull($foo2);
			
			$this->assertEquals('FooFoo is required', $foo->foofoo_error);
		}
	}
Exemple #7
0
<?php

use js\tools\commons\traits\DataWriter;
use js\tools\commons\traits\StaticDataWriter;
require __DIR__ . '/../autoloader.php';
class Foo
{
    use DataWriter;
}
class Bar
{
    use StaticDataWriter;
}
$foo = new Foo();
$foo->set('a.b.c', 'foo');
var_dump($foo->getArray('a.b'));
var_dump($foo->get('a.b.c'));
Bar::set('a.b.c', 'bar');
var_dump(Bar::getArray('a.b'));
var_dump(Bar::get('a.b.c'));