2013-04-02 40 views
0

我是一名具有CI背景的Laravel 3.x初学者。Laravel路线 - 是否有可能根本不使用它们?

我非常熟悉使用控制器而不是路由,并且在尝试在Laravel中使用控制器时遇到了问题。

例如:假设我有home_controller和“about”动作。我的问题是,我只能通过设置指向它的路径来访问“关于”动作 - 我认为这是不受欢迎的。

有没有办法让“about”动作在没有设置路径的情况下工作?

回答

2

在laravel,一切都可以用两种路线和/或控制器来实现。

但是,使用两个路由AND控制器建议具有很大的灵活性。请参阅this article以获取更多信息以及如何将路线与控制器组合在一起的示例。

无论如何,如果你想使用控制器(这是完全可以接受的),你需要在routes.phpRoute::controller('yourcontroller')之间注册它们,然后才能使用它们。

+0

感谢您阅读该文章的链接。这非常有帮助。 – darksoulsong

+0

不客气,很高兴帮助。 – Adrenaxus

1

一切都必须路由在Laravel。但是,您不必手动路由每种方法。你可以按照Route::controller('admin')的方法做一些事情。

在这里看到:http://laravel.com/docs/routing#controller-routing

+0

您还可以使用'路线::控制器(Controller ::检测())',但**不推荐**,因为它可能是错误的,这取决于你的设置。 –

1

您必须注册所有控制器,如上例所示。它是每个控制器的一行代码,它是规则。 但是,如果您有静态页面或登录操作(页面),最好的做法是创建一个Route控制器(anonymus函数),而不是经典控制器(在controllers文件夹中)。

1

我喜欢迈克安东尼解决方案。当你只使用控制器时,这种检测方法就是你必须做的一切 - 这将自动注册你的所有控制器。迄今为止最好的免提解决方案。 通常控制器注册,作为球员已经提到的,这一点:

Route::controller('controllername'); 
+0

'Controller :: detect()'不应该被提倡为解决方案。这不是,而且会导致很多问题。像您所展示的手动注册是一种更好的方法。 –

相关问题