justtest

438 经验值

class Users implements Illuminate\Contracts\Auth\Authenticatable
{
    use Illuminate\Auth\Authenticatable;
}

重启服务器,不行的话添加 composer.json 中顶级键名 minimum-stability, 值为 stable, 然后删掉 require 中的 dotenv 之后,重新 composer require xxxxx

哪个顺手用哪个,qps 从来都不是选择框架的第一考量。
那么在乎速度的话可以用纯 php,甚至是其他语言。
laravel 最大的优点是开发速度快 。在你掰着手指头数哪个东西快的 时候,别人简单的一个产品模型都上线了。
laravel 第二优点是作者设计能力高,熟练使用后会使得自己 php 水平稳中有升。
至于 slim 没接触过不做评价。

dd(\Request::getHost());

这里无法通过 Route 里的方法取 account。

想一想还是再补充下,上面说的“偷懒”并不准确。实际上有目的性的使用这两个方法会给开发带来很大的便利。例如 eloquent 中的 accessor (public function getXxxAttribute)和 scope 显然只能用过 __GET 实现,这样方便用户动态的为模型 Query 和模型属性增加处理方法。现在框架中基本都用到了这俩魔术方法。因为是“有目的性”的,是为了便利性故意进行的设计,所以上面忽略了谈这点。

看走眼了,看成了 setter 和 getter。
这俩魔术方法的前提条件手册中说:如果对属性的读写是 “不可达” 的,会触发这个方法。

class User {
    private $username;
    private $password;

    public function __set($name,$value) {
        $this->$name = $value;
    }

    public function __get($name) {
        return $this->$name;
    }
}

上面的 password 显然是不可达的,但是因为魔术方法,此时却可以访问。鉴于此你可以简单把这俩魔术方法理解成 setter 和 getter 的偷懒行为。如果可以,尽量写完整的 setter 和 getter。

你的意图,会潜在的导致用户在 update 的时候,把 username 、email 等数据清空。

public function rules()
{
    $routename  = \Route::currentRouteName();
    if ($routename === 'xxx.xx') {
        return [
        ];
    } elseif ($routename === 'yyyy.yy') {
    }
}
// 至于 routename 默认值是什么,你在各自方法中打印下看看。