本文整理汇总了PHP中ServiceLocator::get方法的典型用法代码示例。如果您正苦于以下问题:PHP ServiceLocator::get方法的具体用法?PHP ServiceLocator::get怎么用?PHP ServiceLocator::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceLocator
的用法示例。
在下文中一共展示了ServiceLocator::get方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getService
/**
* Получает сервис из локатора если он есть
* или сначала помещает его туда
*
* @return object
*/
public function getService()
{
if (!$this->locator->checkService($this->service)) {
$this->buildService(true);
}
return $this->locator->get($this->service);
}
示例2: __invoke
/**
* @return array
*/
public function __invoke()
{
// get the module manager
$moduleManager = $this->serviceLocator->get('ModuleManager');
// get all loaded modules application wide
$loadedModules = array_keys($moduleManager->getLoadedModules());
// remove default unwanted modules
$loadedModules = array_diff($loadedModules, $this->config['skip_modules']);
// loop through all the loaded modules
foreach ($loadedModules as $loadedModule) {
$moduleClass = '\\' . $loadedModule . '\\Module';
$moduleObject = new $moduleClass();
if (!$moduleObject->getConfig()) {
continue;
}
// get all routes for current module
$module = $moduleManager->getModule($loadedModule);
$routes = $module->getConfig()['router']['routes'];
// if the routes variable (array) is not empty
if (!empty($routes)) {
// loop through each route
foreach ($routes as $key => $route) {
// check for route type for the root route and act accordingly
// $this->_setRootRoute($route, $key);
// loop the children routes and act accordingly
$this->_setResources($route, $key);
}
}
}
return $this->_resources;
}
示例3: fetchAllRoutes
/**
* @param bool $view determines if the routes should be properly formatted for views
* @return array
*/
public function fetchAllRoutes($view = false)
{
// $this->_format_for_view = $view;
// get the module manager
$moduleManager = $this->serviceLocator->get('ModuleManager');
// get all loaded modules application wide
$loadedModules = array_keys($moduleManager->getLoadedModules());
// remove default unwanted modules
$loadedModules = array_diff($loadedModules, $this->config['skip_modules']);
// loop through all the loaded modules
foreach ($loadedModules as $loadedModule) {
$moduleClass = '\\' . $loadedModule . '\\Module';
$moduleObject = new $moduleClass();
if (!$moduleObject->getConfig()) {
continue;
}
// get all routes for current module
$module = $moduleManager->getModule($loadedModule);
if ($routes = $module->getConfig()['router']['routes']) {
// if the routes variable (array) is not empty
if (!empty($routes)) {
// loop through each route
foreach ($routes as $key => $route) {
$this->_setResources($route, $key);
}
}
}
}
return $this->_resources;
}
示例4: __construct
public function __construct(ServiceLocator $sl, $path)
{
$this->request = $sl->get('request');
$this->response = $sl->get('response');
$this->path = $path;
// …
}
示例5: getByLatitudeAndLongitude
public function getByLatitudeAndLongitude($latitude, $longitude, $unit = 'c')
{
$query = $this->resolveWeatherQuery($latitude, $longitude, $unit);
$namespacedQuery = static::API_ENDPOINT . '?q=' . urlencode($query) . '&format=json';
// could use ->json() but we want an object, not an array
$result = ServiceLocator::get('httpClient')->get($namespacedQuery);
$json = $result->getBody()->getContents();
if (empty($json)) {
throw new \Exception('Yahoo weather API did not respond with any content');
}
$this->weatherData = json_decode($json);
if (json_last_error() != JSON_ERROR_NONE) {
throw new \Exception('Yahoo responded with an invalid json');
}
}
示例6: __get
/**
* @param $name
* @return ServiceLocator|mixed
* @throws \InvalidArgumentException
*/
public function __get($name)
{
switch (strtolower($name)) {
case 'services':
case 'servicelocator':
return $this->serviceLocator;
case 'router':
return $this->serviceLocator->get('Router');
case 'routes':
return $this->serviceLocator->get('Router')->getRouteStack();
default:
if ($this->serviceLocator->has($name)) {
return $this->serviceLocator->get($name);
}
}
throw new \InvalidArgumentException($name . ' is not a valid property in the application object or a valid service in the ServiceLocator');
}
示例7: setCitiesWeatherCache
protected function setCitiesWeatherCache($value)
{
return ServiceLocator::get('cache')->set($this->resolveCitiesWeatherKey(), $value);
}
示例8: get
/**
* Returns the actual object referenced by this Instance object.
* @param ServiceLocator|Container $container the container used to locate the referenced object.
* If null, the method will first try `Yii::$app` then `Yii::$container`.
* @return object the actual object referenced by this Instance object.
*/
public function get($container = null)
{
if ($container) {
return $container->get($this->id);
}
if (app() && app()->has($this->id)) {
return app()->get($this->id);
} else {
return Container::getInstance()->get($this->id);
}
}
示例9: getClientsFromForms
/**
* Permet d'afficher seulement les informations présentes sur l'écran de recherche Client (qui sont également les critères)
* @author Ophélie
* @param ServiceLocator $sm
* @param array $critere
* @since 1.0
* @return array
*/
public function getClientsFromForms($sm, $codeClient = '', $raisonSociale = null, $limit = 100)
{
$sql = new Sql($sm->get('Zend\\Db\\Adapter\\Adapter'));
$select = $sql->select();
$select->columns(array('id', 'societe' => new Expression("CONCAT(c.raison_sociale,' (',a.code_postal,' ',a.ville,', ',a.pays,')')")))->from(array('c' => 'client'))->join(array('a' => 'adresse'), 'a.ref_client = c.id', array(), $select::JOIN_LEFT)->order('raison_sociale ASC');
$where = new Where();
if ($codeClient !== '') {
if ($codeClient === null) {
//var_dump($codeClient);die();
$where->isNull('c.code_client')->and;
} else {
$where->equalTo('c.code_client', $codeClient)->and;
}
}
if ($raisonSociale !== null) {
$where->equalTo('c.raison_sociale', $raisonSociale)->and;
}
$where->and->nest()->equalTo('a.adresse_principale', 1)->or->isNull('a.adresse_principale')->unnest();
$select->where($where);
$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();
if ($results->isQueryResult()) {
$resultSet = new ResultSet();
$resultSet->initialize($results);
return $resultSet->toArray();
}
return array();
}
示例10: get
/**
* Returns the actual object referenced by this Instance object.
* @param ServiceLocator|Container $container the container used to locate the referenced object.
* If null, the method will first try `Yii::$app` then `Yii::$container`.
* @return object the actual object referenced by this Instance object.
*/
public function get($container = null)
{
if ($container) {
return $container->get($this->id);
}
if (Container::$app && Container::$app->has($this->id)) {
return Container::$app->get($this->id);
} else {
return Container::$instance->get($this->id);
}
}
示例11: getInterlocuteurs
/**
* Permet d'afficher seulement les informations présentes sur l'écran de recherche Interlocuteur (qui sont également les critères)
* @author Ophélie
* @param ServiceLocator $sm
* @param array $critere
* @since 1.0
* @return array
*/
public function getInterlocuteurs($sm, $critere, $limit = 100)
{
$sql = new Sql($sm->get('Zend\\Db\\Adapter\\Adapter'));
$select = $sql->select();
$select->columns(array('id', 'nom_complet' => new Expression("CONCAT_WS(' ',titre_civilite,prenom,nom)"), 'email', 'envoi_vers_outlook'))->from(array('i' => 'interlocuteur_fournisseur'))->join(array('f' => 'fournisseur'), 'i.ref_societe_fournisseur = f.id', array('code_fournisseur', 'raison_sociale'), $select::JOIN_LEFT)->order('nom ASC, prenom ASC')->limit($limit);
$where = new Where();
$where->equalTo('f.supprime', 0)->and->nest()->like('i.prenom', $critere)->or->like('i.nom', $critere)->or->like('f.code_fournisseur', $critere)->or->like('f.raison_sociale', $critere)->or->like('i.email', $critere)->unnest();
$select->where($where);
//\Zend\Debug\Debug::dump($select->getSqlString());die();
$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();
if ($results->isQueryResult()) {
$resultSet = new ResultSet();
$resultSet->initialize($results);
return $resultSet->toArray();
}
return array();
}
示例12: findSegmentByTypeSegment
/**
* [findSegmentByTypeSegment description]
* @param ServiceLocator $sm
* @param int $typeSegment (ID du type de segment)
* @return array (Array de Segment)
*/
public function findSegmentByTypeSegment($sm, $typeSegment)
{
$idType = (int) $typeSegment;
$query = "SELECT id, intitule_segment \n FROM segment\n WHERE ref_type_segment = {$idType}";
$statement = $sm->get('Zend\\Db\\Adapter\\Adapter')->query($query);
$results = $statement->execute();
if ($results->isQueryResult()) {
$resultSet = new ResultSet();
$resultSet->initialize($results);
return $resultSet->toArray();
}
return array();
}
示例13: getListeUtilisateurs
/**
* Permet d'afficher seulement les informations présentes sur l'écran de recherche Client (qui sont également les critères)
* @author Ophélie
* @param ServiceLocator $sm
* @param array $critere
* @since 1.0
* @return array
*/
public function getListeUtilisateurs($sm)
{
$query = "SELECT p.id, CONCAT_WS(' ', p.prenom, p.nom) AS nom_complet, p.email, p.taux_horaire \n FROM personnel AS p\n ORDER BY nom_complet ASC\n ";
$statement = $sm->get('Zend\\Db\\Adapter\\Adapter')->query($query);
$results = $statement->execute();
if ($results->isQueryResult()) {
$resultSet = new ResultSet();
$resultSet->initialize($results);
return $resultSet->toArray();
}
return array();
}
示例14: resolveCitiesDistanceWeatherKey
protected function resolveCitiesDistanceWeatherKey()
{
return ServiceLocator::get('config')->get('application.WeatherResultsCompiler.' . 'citiesDistanceWeatherCacheKey');
}