Php Laravel 4刀片:如何使用自定义模型?
通常在Laravel中,我通过创建以下内容来调用模型:Php Laravel 4刀片:如何使用自定义模型?,php,laravel,laravel-4,blade,Php,Laravel,Laravel 4,Blade,通常在Laravel中,我通过创建以下内容来调用模型: class Config extends Eloquent { protected function getBaseUri() { return sprintf( "%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['HTTP_HOST'], '/projec
class Config extends Eloquent {
protected function getBaseUri() {
return sprintf(
"%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['HTTP_HOST'], '/project/public/assets/'
);
}
public static function getBaseImagePath() {
return $this->getBaseUri() . 'image/';
}
}
并在php文件中的某个地方调用它,如下所示:
echo配置::GetBaseMagePath()
现在,我正在迁移到.blade.php,我需要从模型中调用相同的函数,所以我在blade中的某个地方做了如下操作:
{{Config::GetBaseMagePath()}}
而且它不起作用(够奇怪了,因为我知道blade所做的就是将{{}}标记转换为php标记)。有人能解释一下如何做到这一点吗?谢谢
我得到的错误是:
调用未定义的方法
照亮\Config\Repository::GetBaseMagePath()
在代码中
{{ Config::getBaseImagePath() }}
它指向的是laravel的illumb\Config\Repository
类,该类中没有此方法。更改名称或使用命名空间
。另外,您不能在静态方法中使用$this
,而是可以使用
public static function getBaseImagePath() {
return static::getBaseUri() . 'image/';
}
在代码中
{{ Config::getBaseImagePath() }}
它指向的是laravel的illumb\Config\Repository
类,该类中没有此方法。更改名称或使用命名空间
。另外,您不能在静态方法中使用$this
,而是可以使用
public static function getBaseImagePath() {
return static::getBaseUri() . 'image/';
}
您正在使用Laravel类名Config
我不知道为什么它可以在PHP中工作而不能在Blade中工作,但它不应该
所以你有一些选择:
1) 在app/Config/app.php中更改Config
Laravel别名
2) 更改您的配置
类名
3) 为类创建命名空间:
<? namespace MyName\Services
class Config extends Eloquent {
protected function getBaseUri() {
return sprintf(
"%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['HTTP_HOST'], '/project/public/assets/'
);
}
public static function getBaseImagePath() {
return $this->getBaseUri() . 'image/';
}
}
并使用它
{{ \MyName\Services\Config::getBaseImagePath() }}
您正在使用Laravel类名Config
我不知道为什么它可以在PHP中工作而不能在Blade中工作,但它不应该
所以你有一些选择:
1) 在app/Config/app.php中更改Config
Laravel别名
2) 更改您的配置
类名
3) 为类创建命名空间:
<? namespace MyName\Services
class Config extends Eloquent {
protected function getBaseUri() {
return sprintf(
"%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['HTTP_HOST'], '/project/public/assets/'
);
}
public static function getBaseImagePath() {
return $this->getBaseUri() . 'image/';
}
}
并使用它
{{ \MyName\Services\Config::getBaseImagePath() }}
谢谢你的回答,是的,这是因为名称空间中的类名忘了将其更改为soemthingelse@user2002495,欢迎并很高兴它有帮助:-)谢谢你的回答,是的,这是因为名称空间中的类名忘了将其更改为soemthingelse@user2002495,欢迎并很高兴它起了作用:-)