2

내 symphony 3.4 프로젝트에 Sonata (sonata-project/admin-bundle)를 설치하려고합니다.Symfony3.4가있는 소나타 - 종속성 삽입 (올바른 소나타 관리 서비스 선언)

불행히도 첫 번째 서비스를 추가 할 때 오류가 발생했습니다.

services.yaml :

admin.carrier: 
    class: App\Admin\CarrierAdmin 
    arguments: [~, App\Entity\Carrier, ~] 
    tags: 
     - { name: sonata.admin, manager_type: orm, label: Carrier } 
    public: true 

그리고 http://localhost/admin/dashboard에 액세스 할 때 내가 오류 :

1) FatalThrowableError 

Type error: strlen() expects parameter 1 to be string, null given 
in AddDependencyCallsCompilerPass.php (line 401) 
at strlen(null)in AddDependencyCallsCompilerPass.php (line 401) 
at AddDependencyCallsCompilerPass->replaceDefaultArguments(array('admin.carrier', 'SonataAdminBundle:CRUD'), object(Definition), null)in AddDependencyCallsCompilerPass.php (line 67) 
at AddDependencyCallsCompilerPass->process(object(ContainerBuilder))in Compiler.php (line 141) 
at Compiler->compile(object(ContainerBuilder))in ContainerBuilder.php (line 753) 
at ContainerBuilder->compile()in Kernel.php (line 634) 
at Kernel->initializeContainer()in Kernel.php (line 137) 
at Kernel->boot()in Kernel.php (line 197) 
at Kernel->handle(object(Request))in index.php (line 25) 

누구든지 나를 도울 수 있습니까?

+0

아마도이 문자 "~"는 서비스 매개 변수가 아닙니다. 이상합니다. – darkomen

답변

1

먼저 관리자 서비스에 앱 프리픽스를 추가하는 것이 좋습니다. CRUD 컨트롤러의 선언에 실수가 있습니다. 세 번째 인수 -이 관리 서비스의 CRUD 컨트롤러입니다. 따라서 기본값을 사용해야합니다. SonataAdminBundle:CRUD

app.admin.carrier: 
    class: App\Admin\CarrierAdmin 
    arguments: [~, App\Entity\Carrier, SonataAdminBundle:CRUD] 
    tags: 
     - { name: sonata.admin, manager_type: orm, group: 'carrier', label_catalogue: "admin", label: 'carrier' } 
+1

대단히 감사합니다! 그게 훨씬 나아! 그냥 다른 문제 :'Admin service "code"admin pool에서 찾을 수 없습니다. "나는 그것을 고치는 방법을 찾고있다. – Toon

+2

@Toon,이 주제를 닫고 문제에 대한 전체 정보를 제공하는 것이 더 좋습니다. 답을 올바른 것으로 표시하십시오. – staskrak