私はSymfony 4で始まり、このリンクでFosUserBundleをインストールしたいです: https://symfony.com/doc/master/bundles /FOSUserBundle/index.html
最初の:
私の問題は、「app/config/config.yml」ファイルがどこにあるのかわからないため、翻訳者のコメントを外して設定する必要があることです。
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
2番目:
「config/packages /」ディレクトリにsecurity.ymlファイルを作成する必要があると思います、そうですか?
第三:
そして、どのファイルにルートを追加しますか?
私を手伝ってくれますか ? :)
私はこれに従って問題を解決しました:
composerを使用してFOSUserBundleをダウンロードします。
composerにはfriendsofsymfony/user-bundle "〜2.0"が必要です
インストールの最後に、次のエラーメッセージが表示されます。
パス「fos_user」の子ノード「db_driver」を構成する必要があります。
<?php //src/Entity/User.php namespace App\Entity; use FOS\UserBundle\Model\User as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="fos_user") */ class User extends BaseUser { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; public function __construct() { parent::__construct(); // your own logic } }
security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers providers: fos_userbundle: id: fos_user.user_provider.username firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: pattern: ^/ form_login: provider: fos_userbundle csrf_token_generator: security.csrf.token_manager logout: true anonymous: true # Easy way to control access for large sections of your site # Note: Only the *first* access control that matches will be used access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN }
fos_user: db_driver: orm # other valid values are 'mongodb' and 'couchdb' firewall_name: main user_class: App\Entity\User from_email: address: "[email protected]" sender_name: "[email protected]"
Config/packages/framework.yamlを更新してテンプレート構成を追加します
framework: templating: engines: ['twig', 'php']
fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"
php bin/console doctrine:database:create
Userクラスエンティティからの情報でスキーマを更新します
php bin/console doctrine:schema:update --force
この時点で、すべてがインストールされ、Symfony 4でFOSUserBundleを使用するように設定されます。次のコマンドを実行して、すべてが正常かどうかを確認します
作曲家の更新
エラーメッセージがない場合は、テストできます! Webサーバーを実行して、アプリケーションをテストできます。
php bin/console server:start
すべてのチュートリアル ここ : https://vfac.fr/blog/how-install-fosuserbundle-with-symfony-4
これが私が見つけた解決策です。
最初:
app/config/config.yml
は存在しなくなり、代わりに設定が設定フォルダに移動されました。 FOSユーザーバンドルの場合、正しい場所:/config/packages/fos_user.yaml
。既に述べたように、dev-masterバージョンのFOSUserBundleを使用して、4をサポートします(まだ少し作業中ですが、十分です)。
第二:
あなたは正しい、簡単な解決策はcomposer require security
そして、レシピがあなたの面倒を見てくれます。 https://symfony.com/doc/current/security.html 詳細については.
三番:
デフォルトのFOSユーザーバンドルルート:fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"
FOSルーティングの詳細(手順6)が役立ちます https://symfony.com/doc/master/bundles/FOSUserBundle/index.html
また、symfonyのルーティングドキュメントでyamlサンプルを確認することをお勧めします。 FOS User Bundleに関連するルートを設定するとき、物事がもう少し明確になるかもしれません。 https://symfony.com/doc/current/routing.html
oK
fos_user:
db_driver: orm
firewall_name: main
user_class: App\Entity\Users
from_email:
address: "[email protected]"
sender_name: "Sender Name"
その後、framework.yamlでは、FOSUserBundle
依存関係のため、次を入力する必要があります
templating:
engines: ['twig', 'php']
/config/rourtes/routes.yaml addでルーティングを追加する場合も
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
その後、動作する準備が整いました
希望はあなたのために働く
現在、Symfony4ではFOSUSerBundleを使用できません。サポートはまだ統合されていません。開発をフォローできます こちら 。
Symfony4でFOSUserBundleを使用する場合は、Ryanが提供するパッチ here を試すことができます。