我正在尝试使用 trait 来处理我的 Laravel 应用程序上的图像上传,但我的 Trait 中的任何函数都不能从控制器调用。它抛出一个 BadMethodCallException 并表示无法找到该函数。
我已经尝试使用非常简单的函数来测试它是否是 trait 的问题,或者函数本身是否有问题,但即使是一个只包含
return "sampletext";
有同样的问题。
trait 的路径在 App/Traits/UploadTrait 下,我已经检查了控制器中 use 语句的拼写,上面写着 use App\Traits\UploadTrait;
namespace App\Traits;
trait UploadTrait
{
public function test(){
return "testtext";
}
}
并且控制器有
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule;
use App\User;
use App\Profile;
use App\Traits\UploadTrait;
use Image;
class UserProfileController extends Controller
{
...
protection function updateProfile($args, Request $request){
...
return $this->test();
...
当然,我希望我的 trait 中的函数被调用,但这不会发生。
墨色风雨
沧海一幻觉
FFIVE