laravel phpexcel更新中模糊的类别分辨率

我尝试使用php excel更新laravel,同时安装我在composer php中发现了下面的警告。

错误:

Warning: Ambiguous class resolution, "SettingsController" was found in both "C:\xampp\htdocs\mti\app\controllers\SettingsController.php" and "C:\xampp\htdocs\mti\app\controllers\SettingsControllerBackup.php", the first will be used.Warning: Ambiguous class resolution, "ClassModel" was found in both "C:\xampp\htdocs\mti\app\models\ClassModel.php" and "C:\xampp\htdocs\mti\ app\models\LoginModel.php", the first will be used. 

SettingsController:

 <?php class SettingsController extends BaseController { public function ChangePasswordLayout() { return View::make('settings/changepassword/changepassword'); } public function ChangePasswordProcess() { $PasswordData = Input::all(); Validator::extend('pwdvalidation', function($field, $value, $parameters) { return Hash::check($value, Auth::user()->password); }); $messages = array('pwdvalidation' => 'The Old Password is Incorrect'); $validator = Validator::make($PasswordData, User::$rulespwd, $messages); if ($validator->passes()) { $user = User::find(Auth::user()->id); $user->password = Hash::make(Input::get('NewPassword')); $user->save(); return Redirect::to('changepassword')->withInput()->with('Messages', 'The Password Information was Updated'); } else { return Redirect::to('changepassword')->withInput()->withErrors($validator); } } public function ProfileLayout() { $user = Auth::user()->id; $ProfileDetailsbyid = ProfileModel::where('id', $user)->get()->toArray(); return View::make('settings/profile/profile')->with('ProfileDetailsbyid', $ProfileDetailsbyid); } public function ProfileUpdateProcess($data=NULL) { $user = Auth::user()->id; $ProfileDetailsbyid = ProfileModel::where('id', $user)->get()->toArray(); $ProfileData = array_filter(Input::except(array('_token'))); $validation = Validator::make($ProfileData, ProfileModel::$rules); if ($validation->passes()) { if(!empty($ProfileData['Photo'])) { Input::file('Photo')->move('assets/uploads/profilephoto/', $user . '-Photo.' . Input::file('Photo')->getClientOriginalName()); $Photo=$user.'-Photo.' . Input::file('Photo')->getClientOriginalName(); unset($ProfileData['Photo']); $ProfileData['Photo']=$Photo; } $affectedRows = ProfileModel::where('id', $user)->update($ProfileData); //VehicleModel::create($VehicleData); return Redirect::to('profile')->with('Message', 'Profile Details Update Succesfully')->with('ProfileDetailsbyid', $ProfileDetailsbyid); } else { return Redirect::to('profile')->withInput()->withErrors($validation->messages())->with('ProfileDetailsbyid', $ProfileDetailsbyid); } } } 

ClassModel:

 <?php class ClassModel extends Eloquent { protected $primaryKey = 'AutoID'; protected $created_at = 'CreatedAt'; protected $updated_at = 'UpdatedAt'; protected $table = 'class'; protected $guarded = array('GradeName'); protected $fillable = array('GradeName'); public function batch(){ return $this->hasMany('BatchModel', 'Class'); } public function studentadmissionresult(){ return $this->hasMany('StudentAdmissionModel', 'StudentCourse'); } public $timestamps = true; public static $rules = array( 'GradeName' => array('required', 'unique:class','regex:/^./'), 'GradeSection' => 'required', 'GradeCode' => array('required', 'unique:class') ); public static $updaterules = array( 'GradeName' => array('required','regex:/^./'), 'GradeSection' => 'required', 'GradeCode' => array('required') ); } 

我遵循这个教程:

https://github.com/Maatwebsite/Laravel-Excel

我试试下面的命令:

 composer require maatwebsite/excel": "~1.2.1 

这实际上与您正在安装的软件包无关。

说明

在更新后重新创build自动载入文件( composer dump-autoload )时,Composer检测到您有两个名称完全相同(但位于不同文件中)的类。

SettingsController.phpSettingsControllerBackup.phpSettingsControllerBackup.php

以及ClassModel.phpLoginModel.phpClassModel

然后,composer php将select使用其中的一个(我不确定它是如何做出这个决定的,这可能只是它发现的第一个),并会忽略其他事件。

解决scheme

  1. 如果你不需要,删除这些文件
  2. 重命名类

一个好的和常见的做法是命名类文件。 这是避免这种冲突的简单方法,因为同一目录中的两个文件不能具有相同的名称。