Hi,
ich möchte gern anhand der Domain ein Objekt im Service Manager ablegen, wofür ich folgende Factory erstellt habe. Das Problem dabei ist nun, dass ich für die "Standard-Domain" kein Objekt habe und die Applikation somit hinfällt, da die Factory nicht null zurück geben kann. Wie kann ich dieses problem lösen?
Die Datenbank dazu schaut folgendermaßen aus:
Wenn ich die Applikation über die Domain "test.mydomain.de" aufrufe, finde ich über den Service den Eintrag in der DB und alles funktioniert wunderbar. Sobald ich aber über "www.mydomain.de" komme, sollte das ganz einfach null zurück geben
Hmm kompliziert zu erklären...
Danke für jeden Hinweis
ich möchte gern anhand der Domain ein Objekt im Service Manager ablegen, wofür ich folgende Factory erstellt habe. Das Problem dabei ist nun, dass ich für die "Standard-Domain" kein Objekt habe und die Applikation somit hinfällt, da die Factory nicht null zurück geben kann. Wie kann ich dieses problem lösen?
PHP:
namespace Client\Factory;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class ClientFactory implements FactoryInterface {
public function createService(ServiceLocatorInterface $serviceLocator) {
/* @var $clientService \Client\Service\ClientServiceInterface */
$clientService = $serviceLocator->get('Client\Service\Client');
$uri = $serviceLocator->get('Request')->getUri();
$baseUrl = $uri->getScheme() . '://' . $uri->getHost();
return $clientService->getClientByBaseUrl($baseUrl);
}
}
id | name | base_url |
1 | test | test.mydomain.de |
Wenn ich die Applikation über die Domain "test.mydomain.de" aufrufe, finde ich über den Service den Eintrag in der DB und alles funktioniert wunderbar. Sobald ich aber über "www.mydomain.de" komme, sollte das ganz einfach null zurück geben
Danke für jeden Hinweis