我有一個名爲報告的部分,在此之下有大約40-50個報告。在laravel中路由4
對於每個報告,我需要定義一個單獨的類/控制器。
我已經在控制器下創建了一個報告文件夾,並在其下添加了一個ReportsController類。我的路由路由到這個ReportsController的add方法,並根據傳遞給它的參數調用不同的報告類(如ContainerReportController)的add方法。
示例代碼:
controllers/reports/ReportController.php
class ReportController extends BaseController {
public function add($type)
{
$controller = Str::studly($type) . 'Controller';
return $controller::add();
}
}
controllers/reports/ContainerReportController.php
class ContainerController extends BaseController {
public function add()
{
return "Report will be added here and redirected to main page".
}
}
我做到了這種方式,因爲它不會可以讓我來定義路由到每個這種不同類型的報告(如ContainerReportController)中,i定義的單個路線主RportController並從那裏我調用不同的控制器。
我想知道我是否以正確的方式做,或者如果我可以有別的東西可以幫助我更好地使用我的代碼。
僅供參考 - 在控制器/報表目錄中添加每個報表後,我運行composer dump-autoload
,以便報表類在應用程序運行時自動加載。
請幫助改善這種編碼。
感謝, 尼基爾
謝謝:)我會嘗試當我回去工作,將更新! –
大:)現在看起來更有組織了..但我認爲在BaseReport類中渲染方法應該是公開的?你能否看到一個我需要一個私有方法的實例? –
絕對公開,只是編輯它。 –