for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Containers\Authentication\Traits;
use App\Containers\Authentication\Tasks\ApiGenerateTokenFromObjectTask;
use Illuminate\Support\Facades\App;
/**
* Class TokenTrait.
*
* To be `used` by the `User` Model.
* @author Mahmoud Zalt <[email protected]>
*/
trait TokenTrait
{
* inject a token in the user model itself.
* if no token provided generate token first.
* @param null $token
* @return $this
public function injectToken($token)
// `$this->token` will be attached on the User where this trait is used.
$this->token = $token;
token
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
return $this;
}
* When calling this function, the token will be added on the model.
public function withToken()
return $this->injectToken(App::make(ApiGenerateTokenFromObjectTask::class)->run($this));
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: