我正在使用 laravel 5.4 和 php 7.2 并遇到以下问题
I am using laravel 5.4 and php 7.2 and come asross following issue
无法声明 class App\Http\Controllers\ApiContactController,因为该名称已被使用
ApiContactController 代码如下
<?php
namespace App\Http\Controllers;
use App\Contact;
use App\Http\Resources\Contact\ContactResource;
use Illuminate\Http\Request;
use Validator;
class ApiContactController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$data = "Hello";
return new ContactResource( $data);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function create_profile(Request $request){
$rules = [
'name' =>'required',
'email'=>'required',
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// Validation failed
return response()->json([
'errors' => $validator->messages(),
]);
}else{
$contact=Contact::whereNumber($request->number)->update([
'verified_name' => $request->name?$request->name:null,
'email' =>$request->email?$request->email:null
]);
}
return response()->json([
'success' => 'Successfully Profile Updated',
]);
}
}
如果我的代码中存在上述问题,如何解决。给我一个简单的方法来解决这个问题。
我已经尝试过来自不同来源的不同解决方案,但我仍然有这个错误
请将此行放在您要扩展的名称空间 class 之后。不确定这是否会解决您的问题,
use App\Http\Controllers\Controller;
检查您有多少 class 名称为 class 的 ApiContactController 并查看所有这些文件是否具有相同的命名空间。如果您在 diff 文件夹中有相同的命名空间,那应该没问题,但是如果您有相同的文件夹,那么除了更改 class 名称
之外,您别无选择
无法声明 class App\Http\Controllers\ApiContactController,因为该名称已被使用
ApiContactController 代码如下
<?php
namespace App\Http\Controllers;
use App\Contact;
use App\Http\Resources\Contact\ContactResource;
use Illuminate\Http\Request;
use Validator;
class ApiContactController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$data = "Hello";
return new ContactResource( $data);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function create_profile(Request $request){
$rules = [
'name' =>'required',
'email'=>'required',
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// Validation failed
return response()->json([
'errors' => $validator->messages(),
]);
}else{
$contact=Contact::whereNumber($request->number)->update([
'verified_name' => $request->name?$request->name:null,
'email' =>$request->email?$request->email:null
]);
}
return response()->json([
'success' => 'Successfully Profile Updated',
]);
}
}
如果我的代码中存在上述问题,如何解决。给我一个简单的方法来解决这个问题。 我已经尝试过来自不同来源的不同解决方案,但我仍然有这个错误
请将此行放在您要扩展的名称空间 class 之后。不确定这是否会解决您的问题,
use App\Http\Controllers\Controller;
检查您有多少 class 名称为 class 的 ApiContactController 并查看所有这些文件是否具有相同的命名空间。如果您在 diff 文件夹中有相同的命名空间,那应该没问题,但是如果您有相同的文件夹,那么除了更改 class 名称
之外,您别无选择