Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4.2接口混淆_Php_Laravel_Laravel 4 - Fatal编程技术网

Php Laravel 4.2接口混淆

Php Laravel 4.2接口混淆,php,laravel,laravel-4,Php,Laravel,Laravel 4,Laravel 4.2中默认的用户模型实现了用户界面和可提醒界面,但是查看我的用户模型的定义,在两个界面上定义的那些方法并没有在用户模型上实现 use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class User ex

Laravel 4.2中默认的用户模型实现了用户界面可提醒界面,但是查看我的用户模型的定义,在两个界面上定义的那些方法并没有在用户模型上实现

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password', 'remember_token');

}

当用户类没有实现在这两个接口上定义的方法时,它为什么不会抛出任何错误?

您可以看到
User
类使用了两个trait和。如果您检查这些特性,您将看到所需的方法在那里实现。因此,
User
类不需要实现这些方法,只要它们是继承的。如果需要,可以实现它们并覆盖/扩展继承的功能

方法也可以从父类继承。因此在这里,这些方法可以通过
elount
类中的
User
类扩展来实现(尽管这里不是这样)

您可以在PHP文档中阅读关于这些主题的更多内容:


谢谢我忘了看那些特征。我的印象是,要实现的方法应该在实现类上定义,在本例中是用户类。另外,今天我正在深入研究php特性。