я следовать этому link
создать проект HMVC в Laravel
мою структуру файла как этотНевозможно отобразить вид из контроллера/маршрута в HMVC Laravel
+ [app]
+ [Another Directory]
+ [modules]
+ [content]
+ [shop]
+ [controllers]
- ShopController.php
+ [view]
- home.blade.php
- route.php
- ServiceProvider.php
- ServiceProvider.php
+ [Another Directory]
это мой shopController.php
<?php
namespace App\Modules\Shop\Controllers;
use App\Controllers\BaseController;
use View;
class ShopController extends BaseController {
public function showWelcome() {
return View::make('shop::home');
}
}
и это мой маршрут в модуле магазина
<?php
Route::get('/shop', 'App\\Modules\\Shop\\Controllers\\[email protected]');
я пытаюсь проверить вернуть простую строку приветствия от маршрута в модуле магазина, и это работает
<?php
Route::get('admin/shop', function() {
return '<h1>Hello</h1>';
});
но где я не хватает
поэтому не может отображать вид из маршрута или контроллера в HMVC
@update Jan.J
маршрут в модуле магазина
//this is working
Route::get('admin/shop', function() {
return '<h1>hello</h1>';
});
//this is working, result laravel default page hello in view mvc
// but i can't dispay view in shop module
Route::get('admin/shop', function() {
return View::make('hello');
});
//i try your script something like this, and it's not working
//correct me if i'm wrong
Route::get('/shop', 'new App\Modules\Shop\Controllers\ShopController(app('request'));');
@update
я пытаюсь обновить свой магазин маршрут назвать вид в модуле магазина, как этот
<?php
Route::get('test/', function() {
return View::make(‘shop::home’);
});
и это даст результата Class '‘shop' not found
любой идея?
Возможно, это только опечатка, о которой идет речь, но ваш каталог называется [Module], но вы ссылаетесь на него как на модули. Если ваш композитор автоматически загружает точки в несуществующий каталог, который приведет к этим ошибкам. –
@ Jan.J да, это опечатка, мое имя каталога - это модули .... но я обращаюсь к нему с Capital M, то же самое с примером в creolab ... это нормально? – Neversaysblack
Да, самозарядка classmap позаботится об этом. Вы можете попытаться создать экземпляр своего контроллера в другом месте и посмотреть, правильно ли загружен класс. И перед этим запустите 'comper autoload'. –