在laravel上路由模型绑定和加密

时间:2016-01-15 10:15:13

标签: php laravel encryption laravel-5 laravel-5.2

尝试将加密的公司ID绑定到网址时,我遇到了错误。 我假设我需要包含所有我需要的东西,并且我可以使用像companyEncrypt这样的自定义名称,因为它是自定义绑定。

错误:

<style type='text/css'>
.PopularPosts .item-thumbnail a {
clip: auto;
display: block;
height: 180px;
overflow: hidden;
width: 300px;
margin-left: -10px;
}
.PopularPosts .item-thumbnail img {
position: relative;
top: -30px;
transition:all .2s linear;
 -o-transition:all .5s linear;
-moz-transition:all .2s linear;
-webkit-transition:all .2s linear;
}

.PopularPosts .item-thumbnail img:hover{
opacity:.6;
filter:alpha(opacity=60)
}
.PopularPosts .widget-content ul li {
color: #555555;
}

.PopularPosts .item-title {
clear:both;
font: 11px raleway;
color: #000;
text-transform: uppercase;
text-align: center;
margin-right: 10px;
}

.PopularPosts .item-title a{
color: #000
  }
.PopularPosts .item-title a:hover{
color: #515151
  }

.PopularPosts .item-snippet {
display: none;
}

.widget .widget-item-control a img {
height: 18px;
width: 18px;

}

</style>

代码:

FatalErrorException in RouteServiceProvider.php line 48:
Class 'App\Providers\App\Company' not found

use Log;
use Crypt;
use App\Company;
use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

以前有人遇到过这个吗?

2 个答案:

答案 0 :(得分:1)

您需要通过公司 \ App \ Company 引用公司

替换

return App\Company::where('id', $decrypted)->first();

return Company::where('id', $decrypted)->first();

错误的原因是当您引用的类名不是完全限定的类名(例如 \ App \ Company )或导入的类名(例如公司) 您使用使用App \ Company 进行导入,自动加载器会在当前命名空间中查找该类。

因此,如果您在 App \ Providers 命名空间中引用 App \ Company ,它会尝试加载 App \ Providers \ App \ Company 类。

答案 1 :(得分:1)

您已在页面开头添加了App \ Company。这里使用App \ Company;

像这样使用:return Company::where('id', $decrypted)->first();