2016-03-22 20 views
2

皆さん、私はPHPフレームワークとOOPを学びたいと思っています。私はLaravel 5.1 LTSを使用しています。Laravel 5.1でクラスが見つかりませんでした。エラー

私は私のAuthController

<?php 

namespace App\Http\Controllers\Auth; 

use App\Verification; 
use Mail; 
use App\User; 
use Validator; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ThrottlesLogins; 
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 

class AuthController extends Controller 
{ 

    use AuthenticatesAndRegistersUsers, ThrottlesLogins; 
    private $redirectTo = '/home'; 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'getLogout']); 
    } 

    protected function validator(array $data) 
    { 
     return Validator::make($data, [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|confirmed|min:6', 
     ]); 
    } 

    protected function create(array $data){ 
     $user = User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 

     // generate our UUID confirmation_code 
     mt_srand((double)microtime()*15000);//optional for php 4.2.0 and up. 
     $charid = strtoupper(md5(uniqid(rand(), true))); 
     $uuid = substr($charid, 0, 8) 
     .substr($charid, 8, 4) 
     .substr($charid,12, 4) 
     .substr($charid,16, 4) 
     .substr($charid,20,12); 

     $data['confirmation_code'] = $uuid; 

     // pass everything to the model here 
     $setVerification = new Verification(); 
     $setVerification->setVerificationCode($data['email'], $data['confirmation_code']); 

     // send email for confirmation 
     Mail::send('email.test', $data, function ($m) use ($data){ 
      $m->from('[email protected]', 'Your Application'); 
      $m->to($data['email'])->subject('Thanks for register! Dont forget to confirm your email address'); 
     }); 

     return $user; 

    } 

} 

私のエラーメッセージClass 'Models\Verification' not foundに次のコードは、右の私の初心者の目に見えるここでのコードのこの部分

// pass everything to the model here 
$setVerification = new Verification(); 
$setVerification->setVerificationCode($data['email'], $data['confirmation_code']); 

から来ているが、それは明らかに間違っています。ここで

setVerificationCode method

<?php 

namespace App\Http\Controllers; 

use App\User; 
use DB; 
use App\Http\Controllers\Controller; 

class Verification { 

    /** 
    * This method will update the confirmation_code column with the UUID 
    * return boolean 
    **/ 
    protected function setVerificationCode($email, $uuid) { 
     $this->email = $email; 
     $this->uuid = $uuid; 

     // check to see if $email & $uuid is set  
     if (isset($email) && isset($uuid)) { 
      DB::table('users') 
        ->where('email', $email) 
        ->update(['confirmation_code' => $uuid]); 

      return TRUE; 
     } else { 
      return FALSE; 
     } 
    } 

    /** 
    * This method will validate if the UUID sent in the email matches with the one stored in the DB 
    * return boolean 
    **/ 
    protected function verifyConfirmationCode() { 

    } 


} 
+0

を、このコマンドを実行します。 Haseenaが答えたように、この問題は検証の名前空間がApp/Http/Controllers not Appであることです。ただし、その名前空間/場所は正しくない可能性があります。 – Devon

+0

@Devon私は本当にこれとネームスペースのすべてに新しいことは本当に混乱しています...... –

答えて

6

を持っている私のVerificationクラスは、検証\以下

AuthController

での使用のApp \のHttp \コントローラを教えてくださいです。代わりに

使用のApp \検証の

我々は使用のApp \検証を与えた場合の検証という名前のモデルが存在する場合、それはチェックします。

+0

「クラス 'App \ Http \ Controllers \ Auth \ User'が見つかりません。 ' –

+1

ユーザーはモデルです。 App \ Userを使用して参照してください。 –

+0

私の 'Verification'クラスは私のモデルファイルで、' App \ User'を既に含んでいます –

1

そのは、あなたがあなたのModeleloquent model

use Illuminate\Database\Eloquent\Model; 

class Verification extends Model 
{ 

を拡張し、何かが欠落していると、残りは罰金だと思われます。

もこの

を行い、あなたの検証モデルコード


更新


代わりに、このラインの

use App\Verification; 

を共有0

use App\Models\Verification; 

あなたのModels用のカスタムディレクトリを作成したので、composer.jsonファイルに自動ロードする方が良いでしょう。 セクションに"app/Models"と入力してください。この

"autoload": { 
    "classmap": [ 
     "database", 
     "app/Models" 

    ], 

、その後に続く、このコードは、コントローラのフィッティングは思えないプロジェクトレポでcomposer dump-autoload

+0

私の 'verify'クラスが私のモデルコード –

+0

' App'ディレクトリの下に 'Model'ディレクトリを作成していると言って、あなたのエラーは – Qazi

+0

です。私は' App> Model> Verification.php'を持っています –

関連する問題