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; }; }]);