Testando a comunicação entre Model e Controller
Passando variável do Model Post para o controller PostsController
Model Post
public $msg='Ribamar';
PostsController
use App\Post;
public function index(Post $post)
{
$ms = $post->msg;
print $ms;exit;
}
Caso não importe o model no início, podemos fazer assim:
public function index()
{
$post = new \App\Post;
$ms = $post->msg;
print $ms;exit;
}
Passando um método do Model para o Controller
Post
public function teste()
{
$var1 = 'João';
$var2 = 'Pedro';
$var3 = 'Joaquim';
return compact('var1','var2','var3');
}
PostsController
use App\Post;
public function index(Post $post)
{
$ret= $post->teste();
print $ret['var1'].'<br>';
print $ret['var2'].'<br>';
print $ret['var3'];
exit;
return 'Método index';
}
Criar variável que fique disponível para todas as views
app\Htpp\Controllers\Controller.php
Adicionar:
function __construct()
{
return \View::share('usuario', 'Ribamar');
}
Na View
<h3>Usuário {{$usuario}}</h3>
Ou então usando o méetodo boot do app/Providers/AppServiceProvider.php
public function boot()
{
return \View::share('usuario', 'Ribamar');
}
Na view
<h3>Usuário {{$usuario}}</h3>
Criar Controller base extendendo Controller
E demais extendendo del
class BasicoController extends Controller {
protected $cdata;
public function __construct()
{
$this->cdata = 'Something';
}
}
class ClientesController extends BasicoController {
public function __construct()
{
parent::__construct();
dd($this->cdata);
}
}
Comments fornecido por CComment