Fixtures クラスで PasswordHasherInterface を自動配線しようとしています:
リーリーしかし、エラーが発生しました:
DefinitionErrorExceptionPass.php の 54 行目: ! !
!!サービス 'AppDataFixturesUserFixture' を自動接続できません: パラメーター '$hasher'
!!メソッド「__construct()」はインターフェース「SymfonyComponentPasswordH
」を参照します。 !!asherPasswordHasherInterface" ですが、そのようなサービスは存在しません。
を作成しましたか? !!このインターフェイスを実装するクラス?
! !
私のファイル services.yaml:
リーリーSymfony 6.1 でプレーンパスワードをハッシュする方法は? このエラーが発生するのはなぜですか?
汎用の
###あなた:###PasswordHasher
はありません。Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactoryInterface-
または、専用のパスワード ハッシュ クラスを使用します: 例: ユーザー* の Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface- 。
ファクトリを使用すると、コードは次のようになります: (未テスト)
リーリー繰り返しますが、手順は次のとおりです:
composer require symfony/password-hasher
ハッシャーの構成-
ロードハッシュ
李>
- Loading
*: 修正の
UserPasswordHasherInterfaceUserPasswordHasherInterface- または
PasswordHasherFactoryInterface- (
例
を参照) をロードし、PasswordHasherを取得します。
の例は、
ここ
にあります。