Ejemplo n.º 1
0
 public function getPaginator(array $paginatorOptions = array())
 {
     $defaultPaginatorOptions = array('itemCountPerPage' => 10, 'pageRange' => 5, 'pageNumber' => 1);
     $dataClass = $this->getDataClass();
     $count = $dataClass->getCount();
     if (!$count) {
         return $this->paginator = null;
     }
     $dbPaginatorOptions = $dataClass->getPaginatorOptions();
     $paginatorOptions = array_merge($defaultPaginatorOptions, $dbPaginatorOptions, $paginatorOptions);
     $count = (int) $count;
     $diConfig = array('instance' => array('Zend\\Paginator\\Adapter\\DbSelect' => array('parameters' => array('rowCount' => $count, 'select' => $dataClass->getSelect(), 'adapterOrSqlObject' => $dataClass->getSql())), 'Eva\\Paginator\\Paginator' => array('parameters' => array('rowCount' => $count, 'adapter' => 'Zend\\Paginator\\Adapter\\DbSelect'))));
     foreach ($paginatorOptions as $key => $value) {
         if (false === in_array($key, array('itemCountPerPage', 'pageNumber', 'pageRange'))) {
             continue;
         }
         $diConfig['instance']['Eva\\Paginator\\Paginator']['parameters'][$key] = $paginatorOptions[$key];
     }
     $di = new \Zend\Di\Di();
     $di->configure(new \Zend\Di\Config($diConfig));
     $paginator = $di->get('Eva\\Paginator\\Paginator');
     return $this->paginator = $paginator;
 }
Ejemplo n.º 2
0
<?php

namespace MovieApp {
    class Lister
    {
        public $finder;
        public function setFinder(Finder $finder)
        {
            $this->finder = $finder;
        }
    }
    class Finder
    {
    }
}
namespace {
    // bootstrap
    include 'zf2bootstrap' . (stream_resolve_include_path('zf2bootstrap.php') ? '.php' : '.dist.php');
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('definition' => array('class' => array('MovieApp\\Lister' => array('setFinder' => array('required' => true)))))));
    $lister = $di->get('MovieApp\\Lister');
    // expression to test
    $works = $lister->finder instanceof MovieApp\Finder;
    // display result
    echo $works ? 'It works!' : 'It DOES NOT work!';
}
Ejemplo n.º 3
0
<?php

$adapter = (include file_exists('bootstrap.php') ? 'bootstrap.php' : 'bootstrap.dist.php');
$di = new Zend\Di\Di();
$di->configure(new Zend\Di\Configuration(array('instance' => array('Zend\\Db\\Adapter\\Adapter' => array('parameters' => array('driver' => $dbconfig))))));
//var_dump($di->instanceManager());
$db = $di->get('Zend\\Db\\Adapter\\Adapter');
echo $db->platform->getName() . PHP_EOL;
<?php

namespace Foo\Bar {
    class Baz
    {
        public $bam;
        public function setBam(Bam $bam)
        {
            $this->bam = $bam;
        }
    }
    class Bam
    {
    }
}
namespace {
    include 'zf2bootstrap.php';
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('definition' => array('class' => array('Foo\\Bar\\Baz' => array('setBam' => array('required' => true)))))));
    $baz = $di->get('Foo\\Bar\\Baz');
    // expression to test
    $works = $baz->bam instanceof Foo\Bar\Bam;
    // display result
    echo $works ? 'It works!' : 'It DOES NOT work!';
}
Ejemplo n.º 5
0
    {
        public $finder;
        public function __construct(Finder $finder)
        {
            $this->finder = $finder;
        }
    }
    class Finder
    {
        public $source;
        public function __construct(Source $source)
        {
            $this->source = $source;
        }
    }
    class Source
    {
    }
}
namespace {
    // bootstrap
    include 'zf2bootstrap' . (stream_resolve_include_path('zf2bootstrap.php') ? '.php' : '.dist.php');
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('instance' => array('MovieApp\\Finder' => array('shared' => false)))));
    $lister1 = $di->get('MovieApp\\Lister1');
    $lister2 = $di->get('MovieApp\\Lister2');
    // expression to test
    $works = $lister1->finder instanceof MovieApp\Finder && $lister1->finder !== $lister2->finder && $lister1->finder->source === $lister2->finder->source;
    // display result
    echo ($works ? 'It works!' : 'It DOES NOT work!') . PHP_EOL;
}
Ejemplo n.º 6
0
<?php

namespace MovieApp {
    class Lister
    {
        public $finder;
        public function setFinder(FinderInterface $finder)
        {
            $this->finder = $finder;
        }
    }
    class DbFinder implements FinderInterface
    {
    }
    interface FinderInterface
    {
    }
}
namespace {
    // bootstrap
    include 'zf2bootstrap' . (stream_resolve_include_path('zf2bootstrap.php') ? '.php' : '.dist.php');
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('instance' => array('preferences' => array('MovieApp\\FinderInterface' => 'MovieApp\\DbFinder')))));
    $lister = $di->get('MovieApp\\Lister');
    // expression to test
    $works = $lister->finder instanceof MovieApp\DbFinder;
    // display result
    echo ($works ? 'It works!' : 'It DOES NOT work!') . PHP_EOL;
}
Ejemplo n.º 7
0
    class Page
    {
        public $blocks;
        public function addBlock(Block $block)
        {
            $this->blocks[] = $block;
        }
    }
    interface Block
    {
    }
}
namespace DifferentNs {
    class BlockOne implements \Application\Block
    {
    }
    class BlockTwo implements \Application\Block
    {
    }
}
namespace {
    // bootstrap
    include 'zf2bootstrap' . (stream_resolve_include_path('zf2bootstrap.php') ? '.php' : '.dist.php');
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('definition' => array('class' => array('Application\\Page' => array('addBlock' => array('block' => array('type' => 'Application\\Block', 'required' => true))))), 'instance' => array('Application\\Page' => array('injections' => array('DifferentNs\\BlockOne', 'DifferentNs\\BlockTwo'))))));
    $page = $di->get('Application\\Page');
    // expression to test
    $works = $page->blocks[0] instanceof DifferentNs\BlockOne && $page->blocks[1] instanceof DifferentNs\BlockTwo;
    // display result
    echo ($works ? 'It works!' : 'It DOES NOT work!') . PHP_EOL;
}
Ejemplo n.º 8
0
require_once 'library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->registerNamespace('SON', 'library/SON');
$loader->register();
$definitionList = new Zend\Di\DefinitionList(array($runtime = new Zend\Di\Definition\RuntimeDefinition()));
$di = new Zend\Di\Di($definitionList);
//$di->instanceManager()->setParameters('SON\Db\Connection', array(
//   'server' => 'localhost',
//    'dbname' => 'banco',
//    'user' => 'username',
//    'password' => 123
//));
$di->instanceManager()->addAlias('conexao1', 'SON\\Db\\Connection', array('server' => 'localhost', 'dbname' => 'banco', 'user' => 'username', 'password' => 123));
$di->instanceManager()->addAlias('conexao2', 'SON\\Db\\Connection', array('server' => 'localhost', 'dbname' => 'banco2', 'user' => 'username', 'password' => 1234));
$conexao1 = $di->get('conexao1');
$conexao2 = $di->get('conexao2');
$di->instanceManager()->addTypePreference('SON\\Db\\Connection', 'conexao1');
$categoria = $di->get('SON\\Categoria', array('db' => 'conexao2'));
#$di = new Zend\Di\Di;
//$di->configure(new Zend\Di\Config(array(
//    'definition' => array(
//        'class' => array(
//            'SON\Produto' => array(
//                'setCategoria' => array('required'=>true)
//            )
//        )
//    )
//)));
$di->configure(new Zend\Di\Config(array('definition' => array('class' => array('SON\\Produto' => array('addCategoria' => array('categoria' => array('type' => 'SON\\CategoriaInterface', 'required' => true))))), 'instance' => array('SON\\Produto' => array('injections' => array('SON\\Categoria', 'SON\\Category', 'SON\\Categoria'))))));
$produto = $di->get('SON\\Produto');
print_r($produto);
Ejemplo n.º 9
0
    class Mapper
    {
        public $drivers;
        public function addDriver(Driver $driver, $name)
        {
            $this->drivers[] = array($driver, $name);
        }
    }
    interface Driver
    {
    }
}
namespace DifferentNs {
    class DriverOne implements \System\Driver
    {
    }
    class DriverTwo implements \System\Driver
    {
    }
}
namespace {
    // bootstrap
    include 'zf2bootstrap' . (stream_resolve_include_path('zf2bootstrap.php') ? '.php' : '.dist.php');
    $di = new Zend\Di\Di();
    $di->configure(new Zend\Di\Configuration(array('definition' => array('class' => array('System\\Mapper' => array('addDriver' => array('driver' => array('type' => 'System\\Driver', 'required' => true), 'name' => array('required' => true))))), 'instance' => array('System\\Mapper' => array('injections' => array('addDriver' => array(array('driver' => 'DifferentNs\\DriverOne', 'name' => 'foo'), array('driver' => 'DifferentNs\\DriverTwo', 'name' => 'bar'))))))));
    $mapper = $di->get('System\\Mapper');
    // expression to test
    $works = $mapper->drivers[0][0] instanceof DifferentNs\DriverOne && $mapper->drivers[1][0] instanceof DifferentNs\DriverTwo;
    // display result
    echo ($works ? 'It works!' : 'It DOES NOT work!') . PHP_EOL;
}