2016-10-27 2 views
1

나는 laravel을 가진 웹 사이트를 개발하고 난 모듈을 사용하고 있지만 내가 파일을 변경하여 이러한 모듈은 서브 모듈에게 내가 그런 식으로 만든Laravel에 서브 모듈을 만드는 방법이 있습니까?

laravel-app/ 
    app/ 
    bootstrap/ 
    vendor/ 
    modules/ 
     ├── Admin/ 
      ├── Assets/ 
      ├── Config/ 
      ├── Console/ 
      ├── Database/ 
       ├── Migrations/ 
       ├── Seeders/ 
     ├── Entities/ 
     ├── Http/ 
       ├── Controllers/ 
       ├── Middleware/ 
       ├── Requests/ 
       ├── routes.php 
     ├── Providers/ 
      ├── BlogServiceProvider.php 
     ├── Resources/ 
      ├── lang/ 
      ├── views/ 
     ├── Repositories/ 
     ├── Tests/ 
     ├── composer.json 
     ├── module.json 
     ├── start.php 
     |──modules 
      |──AdminConfig 
       ├── Assets/ 
       ├── Config/ 
       ├── Console/ 
       ├── Database/ 
       ├── Migrations/ 
       ├── Seeders/ 
       ├── Entities/ 
       ├── Http/ 
       ├── Controllers/ 
       ├── Middleware/ 
       ├── Requests/ 
       ├── routes.php 
       ├── Providers/ 
       ├── BlogServiceProvider.php 
       ├── Resources/ 
       ├── lang/ 
       ├── views/ 
       ├── Repositories/ 
       ├── Tests/ 
       ├── composer.json 
       ├── module.json 
       ├── start.php 

같은 무언가가 있도록 그것을 만들 수 있는지 알고 싶어 config/module.php 파일에 있지만 PHP 장인 서비스와 함께 실행되지 않습니다

답변

0

Laravel의 설명서는 directory structure에 대한 정보를 제공합니다.

대부분의 응용 프로그램은 app 디렉토리에 있습니다. 기본적으로이 디렉토리는 App 아래에서 이름 공간을 사용하며 PSR-4 자동 로딩 표준을 사용하여 작성자가 자동으로로드합니다.

즉, PSR-4을 따르는 한 원하는대로 앱을 구성 할 수 있습니다. 따라서 적절한 PSR-4 네임 스페이스로 모듈을 app 디렉토리에 만들 것입니다.

예 : 내 응용 프로그램에서

namespace App\Module1\Services; 
namespace App\Module2\Services; 
namespace App\Services; //For common services 

은, 그러나, 나는 기존의 디렉토리 안에 "모듈"을 만드는 것을 선호합니다.

예 :

namespace App\Services\Module1; 
namespace App\Services\Module2; 
namespace App\Services; //For common services 
+0

그래서 내 PSR-4이 '같은 것을해야한다 "PSR-4": { "앱 \\" "응용 프로그램 /", "모듈 \\" "모듈 /", "서비스 \\": "MyModule/Services" } }, ' – Mntfr

+0

@Mntfr은 원하는 작업에 따라 다릅니다. 'App' 디렉토리를 기본 디렉토리로 사용한다면, 작곡가 자동로드를 변경할 필요가 없습니다. 'app'에 없을 새로운 디렉토리를 만들고 싶다면'psr-4 '를 추가하면됩니다 : { "Modules \\": "modules /"}'(질문에 따라 모듈 디렉토리에 대문자 없음) – Wistar

+0

그런 식으로 해봤지만 URL에 액세스하면 RouteCollection.php 행의 NotFoundHttpException 161 : – Mntfr

관련 문제