相关疑难解决方法(0)

PHP:"......的声明应与......的声明兼容"

我想为CRUDable(可以保存和删除)的实体创建一个接口.这是我的抽象类:

abstract class AbstractCrudableEntity extends AbstractEntity
{
    abstract public function doSave();
    abstract public function doDelete();
}
Run Code Online (Sandbox Code Playgroud)

我的实现类需要为这些方法添加一些额外的参数.这是实现类的签名:

class Contact extends AbstractCrudableEntity {
    public function doSave(User $user, \UberClientManager $manager);
    public function doDelete(User $user, \UberClientManager $manager);
}
Run Code Online (Sandbox Code Playgroud)

我理解PHP要求实现类与父类具有相同的方法参数(有几个问题可以回答这个问题:例如,这个).所以这不是问题.

但是,我最近在Symfony中遇到了一些处理身份验证令牌的代码.类UsernamePasswordToken延伸AbstractToken,并具有一组不同的参数中__construct()的方法:AbstractToken::__construct()UsernamePasswordToken::__construct().

我的问题是Symfony是如何做到这一点的?这与我的代码有什么区别?

php symfony

4
推荐指数
1
解决办法
2961
查看次数

Laravel - 具有参数的单个控制器的多个资源路由

我们可以为多个路由设置一个控制器,并获取参数吗?

目前,我有这些路线:

Route::resource('/customers', 'CustomerController');
Route::resource('/agents', 'AgentController');
Run Code Online (Sandbox Code Playgroud)

并且a CustomerController和a AgentController具有所有资源功能.

但随着CustomerControllerAgentController是除了一个数据库字段,即几乎相同group_id.我正在考虑使用一个控制器,即PartyController一条路线:

Route::resource('/parties/customers', 'PartyController ');
Route::resource('/parties/agents', 'PartyController ');
Run Code Online (Sandbox Code Playgroud)

或者如果有人建议:

Route::resource('/parties/{group}', 'PartyController ');
Run Code Online (Sandbox Code Playgroud)

我一直在寻找,但发现很难遵循这条道路.我在构造函数中添加了此代码PartyController,以检查调用路由:

    $path = Request::capture()->path();
    $this->group = ucwords(explode("/", $path)[1]);
    echo($this->group );
Run Code Online (Sandbox Code Playgroud)

直到这里,一切似乎都很顺利.但在我的时候index.blade.php,我有这样的说法:

<p>{{ link_to_route('parties.create', 'Add new') }}</p>
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

Route [parties.create] not defined. 
Run Code Online (Sandbox Code Playgroud)

我尝试了多种组合,没有任何成功,更多的错误通过,如访问/parties/customers/create现在不起作用.

那么,无论如何还是可以放弃这个想法吗?

编辑:我的问题不同于多个路线的Same Laravel资源控制器,因为我没有使用特征.

php laravel laravel-routing laravel-5 laravel-5.5

4
推荐指数
1
解决办法
2303
查看次数

标签 统计

php ×2

laravel ×1

laravel-5 ×1

laravel-5.5 ×1

laravel-routing ×1

symfony ×1