我添加了
app_path().'/classes',
到ClassLoader :: addDirectories数组中的global.php。在app / classes / helpers / Url.php中我有:
<?php namespace Helpers;
class Url {
public static function prep($str)
{
if ($str == 'http://' OR $str == '')
{
return '';
}
$url = parse_url($str);
if ( ! $url OR ! isset($url['scheme']))
{
$str = 'http://'.$str;
}
return $str;
}
}
然后在视图中我有:
{{HTML::link(Helpers\URL::prep($place->url), $place->url, array('target' => '_blank'))}}
这在本地工作正常,但在我的服务器上我收到错误:找不到类'Helpers \ URL'。我尝试了these steps,但它也没有用。有什么想法吗?
答案 0 :(得分:1)
在aliases
数组中的config / app.php中定义了你的Helper外观
'Helper' => 'Helpers\Url'
然后你可以Helper::prep()
答案 1 :(得分:0)
好的,我发现了问题。我将“app / classes / helpers”重命名为“app / helpers”,然后将新的app / helpers添加到composer.json和global.php并运行composer dump。通过一些PHP文档,看起来PHP有时会在目录和命名空间中使用“类”,“类”或其他保留类型的单词时出现问题。我仍然不确定为什么这在本地工作,但不在服务器上。
答案 2 :(得分:0)
我关注https://stackoverflow.com/a/17091089/1454622(他的&#34;选项1&#34;,我更喜欢)。
我有同样的问题,它在我的本地工作,但不在我的远程服务器上。 我的应用/存储空间上的目录和文件权限问题。我的遥控器需要这些(感谢@elliotyap):
1)我的帮助程序类位于app/libs
,因此我添加到composer.json
部分的autoload
文件中:"app/libs",
2)php composer.phar dump-autoload
它还需要一些权限更改:
3)sudo chgrp THE_SERVERS_WEB_SERVER_USER_HERE app/storage