2016-10-06 7 views
0

私はLaravel 5.3のプロジェクトで作業していますが、ユーザーがパスワードをリセットできるようにするには、ユーザーテーブルのブールフィールドconfirmedが必要です1となります。これを行うには、ファイルのsendResetLinkEmailの方法を編集しましたlaravel-project-name\vendor\laravel\framework\src\Illuminate\Foundation\Auth\SendsPasswordResetEmails.phpLaravelでユーザーパスワードをリセットするために必要な情報を変更します

すべてが正しく動作していますが、私は不思議です。 vendor directory contains the Composer dependenciesだから、私がしたようにファイルを編集するのは良い考えですか? 場合は、同じことをやり直し、親切にそれを共有するより良い方法があります。私を助けてくれてありがとう。

+1

ローカルのプロジェクトでは、 '/ vendor'ファイルの中で何かを編集しても問題ありません。プロジェクトを新しいデスティネーションに移動する必要がある場合は、 'composer install'を実行する必要があります。これにより、それらのファイルに対する変更がすべて削除されます。 'git'などでクローン化するときと同じです。 '/ vendor'ディレクトリからの変更はリポジトリに保存されないので、コピーには持ち越されません。 –

+0

ありがとうございました。 – Prince

+0

問題はありませんが、多くの新しいLaravelユーザーが見逃す可能性があるという重要な注意点に対処するのは良い質問です。 –

答えて

1

は、あなただけのベンダーのディレクトリには、作曲の依存関係が含まれてい

class ForgotPasswordController extends Controller 
{ 

    use SendsPasswordResetEmails; 

    public function sendResetLinkEmail(Request $request) 
    { 
     // implementation 
    } 

} 
1

sendResetLinkEmailメソッドをオーバーライドし、その作曲の依存関係がベンダーのすべてのファイルを更新している任意の時間をリフレッシュして、デフォルトに設定されています。したがって、以前の変更は失われます。

最も良いことは、コントローラで編集する方法をコピーして変更を加えることです。 @ ABDEL-RHMANの答えは、それを実装する方法を示しています

関連する問題