composer.json包含以下命名空間和類用下劃線名稱
...
"autoload": {
...
"psr-0":{"Acme": "app/lib"}
},
的app/lib中/阿克米/模型/產品/我Display.php的有以下幾點:
<?php
namespace Acme\Models\Product;
use Eloquent;
use Db;
class Product_Display extends Eloquent
{
我因爲存儲庫類中的類名稱中的下劃線,所以如何調用該類:
<?php
namespace Acme\Repositories;
use Acme\Models\Product\Display as Product_Display;
...
Product_Display::where('page_id','=',$page_id)->first();
這給出了我一個'Acme \ Models \ Product \ Display'類未找到錯誤。 我猜問題在於使用Acme \ Models \ Product \ Display作爲Product_Display,但我嘗試了幾種變體,其中沒有一個似乎能解決問題。
是的,我還有其他的課程,包括那裏的工作,讓我相信作曲家位不是問題。 – cactusphone
@cactusphone哦,我想我發現了這個問題。由於use語句的最後一部分是類的名稱,因此您需要'使用Acme \ Models \ Product \ Display作爲Product_Display;'但您需要'使用Acme \ Models \ Product \ Product_Display;'。在這種情況下,您的類實際上被命名爲Product_Display,而不是Display(它是文件名)。您可能還需要更改文件名以匹配類名(爲了約定,也應該這樣做)。 – echochamber
我試過了:將文件名改爲Product_Display.php,類名已經是'Product_Display'並且改變了使用語句來使用'Acme \ Models \ Product \ Product_Display作爲Product_Display;'我仍然得到一個錯誤,說類無法找到 – cactusphone