Laravel安装 - 不安装依赖项 - 缺少auth方法

I'm not sure why this is happening but maybe someone can help.

I run a windows 8.1 machine and use WAMP. What i ended up doing was installing composer for windows, and using a composer terminal (sorry if the terms are wrong, hopefully it makes sense) i would change to my root web directory and install laravel by typing

composer create-project laravel/laravel testapp

Everything installs - but i see it reports a lot of dependencies are suggested to be installed. I thought it would grab these automatically?

Anyways, after install it generates me a key, and i go on learning laravel. I setup a controller and use the existing User.php model - but when i look at this model it has no getAuth methods...which i assume come from the symphony dependencies. I never realized this until i started to run into using Auth::attempt() and having it ALWAYS return false. Even hard coding in a username and Input::get('password') (not hashing it on the login since auth attempt does that from what i've read, but hashing it when saving to the db).

I guess my questions are why aren't those dependencies installing, would those be why the User.php methods are missing, and by those methods missing, would that cause my return false issue?

I should note that I sort of came to all of this by downloading the master-laravel.zip file and opening User.php in there, and seeing that it has no methods either.

One more thing, just to add to my story - I even watched and re watched Jeffrey Way's laracasts free lessons, following everything to the letter, and still resulting in this!

Help! So frustrating!

User.php MODEL

<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    protected $fillable = array('username', 'password', 'email');

    use UserTrait, RemindableTrait;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password', 'remember_token');

}

UsersController.php

<?php

    class UsersController extends \BaseController {

/**
 * Display a listing of the resource.
 *
 * @return Response
 */
public function index()
{
    //
}


/**
 * Show the form for creating a new resource.
 *
 * @return Response
 */
public function create()
{
    return View::make('users.create');
}

/**
 * Store a newly created resource in storage.
 *
 * @return Response
 */
public function store()
{
    // manual way
    // Validate input
    $validation = Validator::make(Input::all(), ['username' => 'required|min:6','email' => 'required|min:4|email','password' => 'required|min:6']);

    // check if validation fails
    if ($validation->fails())
    {
        return Redirect::back()->withInput()->withErrors($validation);
    }
    else
    {
        // method #1
        // create new user in db
        //$user = new User;
        //$user->username = Input::get('username');
        //$user->email = Crypt::encrypt(Input::get('email'));
        //$user->password = Hash::make(Input::get('password'));
        //$user->save();

        // this is eloquent way - auto adds timestamps to db     
        $user = User::create(array(
            'username' => Input::get('username'),
            'email' => Crypt::encrypt(Input::get('email')),
            'password' => Hash::make(Input::get('password'))  
        ));
    }

    return Redirect::to('/');

}


/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function show($id)
{
    //
}


/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function edit($id)
{
    //
}


/**
 * Update the specified resource in storage.
 *
 * @param  int  $id
 * @return Response
 */
public function update($id)
{
    //
}


/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return Response
 */
public function destroy($id)
{
    //
}

SessionsController.php

<?php

     class SessionsController extends \BaseController {


/**
 * -Store a newly created resource in storage.
 * -Create session to log user in
 *
 * @return Response
 */
public function store()
{

    // Get the users login information from input boxes and pass as a array to auth:attempt method
    $info = Auth::attempt(array('username' => Input::get('username'),'password' => Input::get('password')));

    if ($info)
    {
        return 'yay!';
    }
    else
    {
        return dd($info);
    }
}


/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return Response
 */
public function destroy($id)
{
    //
}


/**
 * Show the form for logging in.
 *
 * @return Response
 */
public function login()
{
    return View::make('sessions.login');
}

Create View

    <div class="col-md-12">

    <div class="accountPanel">
        {{ Form::open(array('route' => 'users.store')) }}

            <div class="form-group">
                <h4><label for="username">Create a Username</label></h4>
                <input id="username" class="form-control" type="text" name="username" />
                {{ $errors->first('username', '<p class="text-danger">:message</p>') }}
            </div>

            <div class="form-group">
                <h4><label for="email">Enter your Email Address</label></h4>
                <input id="email" class="form-control" type="email" name="email" />
                {{ $errors->first('email', '<p class="text-danger">:message</p>') }}
            </div>


            <div class="form-group">
                <h4><label for="password">Create a Password</label></h4>
                <input id="password" class="form-control" type="password" name="password" />
                {{ $errors->first('password', '<p class="text-danger">:message</p>') }}
            </div>

            <button type="submit" class="btn btn-primary">Create Your Profile</button>

        {{ Form::close() }}
    </div>

Login View

    <div class="col-md-12">
    <div class="accountPanel">
        {{ Form::open(array('route' => 'sessions.store')) }}

            <div class="form-group">
                <h4><label for="username">Enter your Username</label></h4>
                <input id="username" class="form-control" type="text" name="username" />
            </div>                

            <div class="form-group">
                <h4><label for="password">Enter a Password</label></h4>
                <input id="password" class="form-control" type="password" name="password" />
            </div>

            <button type="submit" class="btn btn-primary">Sign In</button>

        {{ Form::close() }}
    </div>
</div>

Let me know if you need the views too, but all they do is for create, it posts to the users.store route, and for login it posts to the sessions.store route.