Laravel 5 视图中的Laravel 5全局变量
我创建了一个GlobalComposer类来获取所有视图中的用户名:Laravel 5 视图中的Laravel 5全局变量,laravel-5,Laravel 5,我创建了一个GlobalComposer类来获取所有视图中的用户名: <?php namespace App\Http\ViewComposers; use Illuminate\Contracts\View\View; use Illuminate\Support\Facades\Auth; class GlobalComposer { /** * Bind data to the view. * * @param View $view * @return void */
<?php namespace App\Http\ViewComposers;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Auth;
class GlobalComposer {
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$view->with('username', Auth::user());
}
}
?>
谢谢如果用户表中存在用户名,只需执行此操作即可
public function compose(View $view){
$view->with('username', Auth::user()->username);
}
对于这一点,您所犯的错误是使用递归,如果路径中指定的文件夹不存在,则会创建这些文件夹
其次,我不喜欢在这里创建文件夹/home/vagrant/Code/laravel/UserFolders/在laravel应用程序外部创建文件夹,为什么不在存储中创建文件夹,这样也可以保护您免受外部世界的影响
public function create(array $data)
{
File::makeDirectory("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/fileuploads", $mode = 0755, $recursive = true, $force = false);
if(File::exists("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/fileuploads")){
File::makeDirectory("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/photos", $mode = 0755);
}
return User::create([
'name' => $data['name'],
'username'=>$data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
感谢您的回复,但它仍然会创建一个文件夹,其中包含来自DB、id、姓名、用户名、电子邮件、created_at…的用户数据。您有创建文件夹或包的脚本吗?如果你这样做,请让我看看代码是的,我有一个递归的顺序,我正在尝试为每个用户创建一个图片上传空间,我需要看到代码,你可能做错了,请你想创建多少文件夹,类似这样的内容:userFolder/username/fileuploads/photos?或userFolder/username/fileuploads和userFolder/username/photos或userFolder/username/fileuploads和userFolder/username/photos这也让人困惑,为什么要在视图中使用Auth::user->username?您正在尝试为新用户或现有用户创建文件夹吗?是的,我要创建userFolder/username/fileuploads和userFolder/username/photos。我还使用Auth::user->username,因为我想在所有视图中使用它,所有视图都取决于经过身份验证的用户名
public function create(array $data)
{
File::makeDirectory("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/fileuploads", $mode = 0755, $recursive = true, $force = false);
if(File::exists("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/fileuploads")){
File::makeDirectory("/home/vagrant/Code/laravel/UserFolders/{$data['username']}/photos", $mode = 0755);
}
return User::create([
'name' => $data['name'],
'username'=>$data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}