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 没接触过不做评价。
sql 里 get() 换成 first() 试试
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 默认值是什么,你在各自方法中打印下看看。