Laravel 5 视图中的Laravel 5全局变量

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 */

我创建了一个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
 */
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']),

    ]);

}