所以我正在开发一个网站。它托管在一个专用服务器上,但有几个域名指向单个Laravel 5.1安装。
每个域名(不包括子查询)都归客户端模型所有。 每个客户端可以有多个站点,这些站点由子域定义。
例如,我拥有phil-cross.co.uk
。因此,在我的客户端表中,我有一个具有域phil-cross.co.uk
的客户端的记录。
然后,我的Sites
表格中有多条记录,www.phil-cross.co.uk
或blogs.phil-cross.co.uk
等等。
该应用程序还可以管理其他域。所以我可能有另一个域名为joe-bloggs.com
的客户端。
目前,我的laravel应用程序可以通过域名正确地确定客户端,并通过子域正确地确定站点,但是它的方式非常混乱。
目前,我有一个具有静态client
和site
属性的服务提供程序,并且引导方法加载当前客户端和站点并将它们存储在此服务提供程序中。然后,我有一个带有一些辅助方法的外观,可以从服务提供者访问客户端和站点属性。
我希望,在应用程序的生命周期内的任何给定时间都能够访问当前站点的客户端和站点模型。
laravel中是否存在用于存储全球可访问模型的最佳实践?我的服务提供商/ Facade目前是否可以接受,还是应该是中间件?还有其他方法可以做到我不知道吗?
Tldr:
如何创建模型的单个实例,并随时在laravel应用程序中的任何位置访问它。