PHP側で正しくヘッダーを捕捉させたい場合はヘッダ名に「HTTP_」のプレフィックスをつけてやる必要がある。
例)
X-XSRF-TOKENという名前のヘッダーを送信したい場合。
$this->client->request(
$method,
$uri,
[], // parameters
[], // files
['HTTP_X-XSRF-TOKEN' => $token]
);
こんな感じ。
PHP側で正しくヘッダーを捕捉させたい場合はヘッダ名に「HTTP_」のプレフィックスをつけてやる必要がある。
例)
X-XSRF-TOKENという名前のヘッダーを送信したい場合。
$this->client->request(
$method,
$uri,
[], // parameters
[], // files
['HTTP_X-XSRF-TOKEN' => $token]
);
こんな感じ。
AppKernelクラスを下記のように拡張してやれば解決する。
class AppKernel extends Kernel {
public function registerBundles() {
// ...
}
public function registerContainerConfiguration(LoaderInterface $loader) {
// ...
}
protected function initializeContainer() {
parent::initializeContainer();
if (PHP_SAPI == 'cli') {
$this->getContainer()->enterScope('request');
$this->getContainer()->set('request', new \Symfony\Component\HttpFoundation\Request(), 'request');
}
}
}
公式にわかりやすい例を見つけたのでペタリ。
http://symfony.com/doc/current/cookbook/testing/simulating_authentication.html
基本的にこのまま書けばログインは可能。
実際にはUsernamePasswordTokenクラスのインスタンスを生成する際、
第1引数にユーザーエンティティをセットしたほうがいろいろと都合がよい。
※ほかの場所でget(‘security.context’)->getToken()->getUser()とかやってる箇所があるとエラー吐くので。
setUp()メソッドなどで下記のようにする。
$loader = new Doctrine\Common\DataFixtures\Loader;
$loader->loadFromDirectory('/path/to/MyDataFixtures');
$purger = new Doctrine\Common\DataFixtures\Purger\ORMPurger($em);
$executor = new Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger);
$executor->execute($loader->getFixtures());
詳細は下記公式を参照。
https://github.com/doctrine/data-fixtures#readme
$stateサービスのgo()メソッドを用いる。
$state.go('admin.index');
引数にはステート名を渡せばOK。
app.service('user', [function () {
this.value = null;
this.set = function(value) {
this.value = value;
};
this.get = function() {
return this.value;
};
}]);