CakePHP:查找助手中是否是移动浏览器(无法访问请求处理程序)
我需要在 CakePHP 应用程序的助手中知道设备是否是移动的,我很想使用 $this->RequestHandler->isMobile(),但请求处理程序组件在助手中不可用。有什么想法吗?
谢谢!
I need to know in a helper in a CakePHP application if the device is mobile, I would love to use $this->RequestHandler->isMobile(), but the request handler component is not available in helpers. Any ideas?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以导入该类并在框架中的任何位置使用它,如下所示:(
通过助手测试并为 Firefox 和 iPhone 提供正确的结果)
You can import the class and use it anywhere in the framework like so:
(Tested from helper and gives correct results for Firefox and iPhone)
此外,您在
Controller::helpers
属性中设置的任何选项都将传递给助手:您可以在助手的构造函数中捕获选项数组:
Also, any options you set in the
Controller::helpers
property will be passed to the helper:You can catch the options array in your helper's constructor:
接受的答案建议在助手中使用组件,应该避免这种情况,因为组件仅在控制器中使用,并且会导致 Anupal 提到的错误。
简单的解决方案是使用
RequestHandlerComponent
使用的CakeRequest
类。所以在你的助手中你可以这样做:-The accepted answer suggests using a component inside a helper which should be avoided as components are for use solely in controllers and will result in errors as mentioned by Anupal.
The simple solution is to use the
CakeRequest
class thatRequestHandlerComponent
uses. So in your helper you can do:-