我在尝试通过SSH访问本地计算机上的Laravel Homestead时遇到了一些奇怪的麻烦.我可以跑:
homestead up
Run Code Online (Sandbox Code Playgroud)
没有问题,通过浏览器访问我的"website.local".但是,当我跑:
homestead ssh
Run Code Online (Sandbox Code Playgroud)
要么
vagrant ssh
Run Code Online (Sandbox Code Playgroud)
我收到以下信息:
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-30-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Fri Jan 2 11:08:55 UTC 2015
System load: 0.0 Processes: 95
Usage of /: 5.1% of 39.34GB Users logged in: 0
Memory usage: 35% IP address for eth0: 10.0.2.15
Swap usage: 0% IP address for eth1: 192.168.10.10
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest: …Run Code Online (Sandbox Code Playgroud) 我的错误信息:
Illuminate \ Container \ BindingResolutionException
Target [Project\Backend\Service\Validation\ValidableInterface] is not instantiable.
Run Code Online (Sandbox Code Playgroud)
我知道接口和抽象类是不可实例化的,所以我知道Laravel不应该尝试实例化我的接口.但不知何故,它正在努力,我怀疑这可能是一个具有约束力的问题......即使我相信我已经正确绑定它并将其注册为服务提供商.
我应该提一下,我从Chris Fidao的"实施Laravel"中取出了这个例子,它几乎完全相同!
这是我的表单类的前几行:
namespace Project\Backend\Service\Form\Job;
use Project\Backend\Service\Validation\ValidableInterface;
use Project\Backend\Repo\Job\JobInterface;
class JobForm {
/**
* Form Data
*
* @var array
*/
protected $data;
/**
* Validator
*
* @var \Project\Backend\Form\Service\ValidableInterface
*/
protected $validator;
/**
* Job repository
*
* @var \Project\Backend\Repo\Job\JobInterface
*/
protected $job;
public function __construct(ValidableInterface $validator, JobInterface $job)
{
$this->validator = $validator;
$this->job = $job;
}
Run Code Online (Sandbox Code Playgroud)
这是我的验证器类的前几行:
namespace Project\Backend\Service\Form\Job;
use Project\Backend\Service\Validation\AbstractLaravelValidator;
class JobFormValidator extends AbstractLaravelValidator { …Run Code Online (Sandbox Code Playgroud)