prepinana mezi databazema dle domeny

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
JarekSt
Člen | 39
+
0
-

Zdravim.
Chtel bych presmerovat ruzne domeny na stejny nette projekt tak, aby se dle nazvu domeny menila pouzita databaze. Jak to nejlepe udelat? Diky

Aurielle
Člen | 1281
+
0
-

Nejspíš budeš muset ručně v bootstrapu doménu detekovat a podle ní načítat ten či onen config. Lepší řešení mě momentálně nenapadá.

David Matějka
Moderator | 6445
+
+5
-

zkus:

class ConnectionFactory
{
	protected $httpRequest;

	public function __construct(Nette\Http\IRequest $httpRequest)
	{
		$this->httpRequest = $httpRequest;
	}

	public function create()
	{
		//dle http requestu zvol vhodne udaje
		return new Nette\Database\Connection($dsn, $user, $pass);
	}
}
database:
	default:
		dsn: #pouze placeholder, aby se spravne nakonfiguroval container
services:
	- ConnectionFactory
	database.default:
		create: @\ConnectionFactory::create()

EDIT: nebo by stacilo, aby ConnectionFactory vytvarelo pouze dsn string, pak by neon vypadal nejak takhle:

database:
	default:
		dsn:
services:
	- ConnectionFactory
	database.default:
		arguments: [@\ConnectionFactory::createDsn(), 'root', 'toor']

Editoval matej21 (3. 9. 2014 0:17)

JarekSt
Člen | 39
+
0
-

diky, vyzkousim