hotash/laravel-auto-compose

一个用于自动将路由参数组合到适当视图的PHP包。

1.0.1 2021-02-14 05:57 UTC

This package is auto-updated.

Last update: 2024-09-10 21:24:46 UTC


README

Latest Version on Packagist Total Downloads

一个用于自动将路由参数组合到适当视图的PHP包。

安装

您可以通过composer安装此包

composer require hotash/laravel-auto-compose

用法

不需要做任何事情,只需在视图中使用您的路由参数即可。除非您在控制器中修改了参数,否则不需要从控制器传递参数到视图。

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    /**
     * Display the specified resource.
     *
     * @param  \App\Models\Product  $product
     * @return \Illuminate\Http\Response
     */
    public function show(Product $product)
    {
        // Don't need to pass $product to the view.
        return view('products.show');
    }
}

所有路由参数将由laravel-auto-compose包自动传递到视图中。

详细信息

如果您修改了一个路由参数但没有从控制器传递它到视图,您将丢失这个修改。

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $product = Product::with('categories')
            ->withTrashed()
            ->findOrFail($id);

        // Updating $id variable.
        $id = 'laravel-auto-compose';

        return view('products.show');
    }
}

在上面的例子中,我们没有将$product传递到我们的视图中。所以,它将不可用。现在,关于$id呢?嗯,控制器中$id变量的变化不会影响视图中$id变量。
为了在我们的视图中看到修改,我们必须从控制器传递$id变量到我们的视图中。

另一个很好的例子

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    /**
     * Display the specified resource.
     *
     * @param  \App\Models\Product  $product
     * @return \Illuminate\Http\Response
     */
    public function show(Product $product)
    {
        $product = $product->load('categories');
        return view('products.show');
    }
}

我们已经加载了一个关系并更新了$product变量。

关系在视图中被加载了吗?

是的,它被加载了。但是为什么?

你是一个工匠,我把这个决定留给你。

请求

请考虑给它一个星标。

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全

如果您发现任何安全相关的问题,请通过电子邮件bdsumon4u@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可证(MIT)。有关更多信息,请参阅许可证文件