zend-framework - zend Framework2 및 3의 getServiceConfig 기능 구성 문제
phpcn_u1582
phpcn_u1582 2017-05-16 16:43:14
0
1
655
으아악 으아악
  1. $sm어떤 종류인가요?

  2. ModelAlbumTableGateway::class这个怎么理解?整个项目中并没有出现AlbumTableGateway这个类,只有AlbumTable이 수업

phpcn_u1582
phpcn_u1582

모든 응답(1)
洪涛

自己找了一个似的问题,원문재하면,翻译재更下면。

출처: Zend Framework 2 사용자 가이드의 AlbumTableGateway

이를 생각하는 가장 좋은 방법은 ServiceManager의 get() 메서드가 클래스 이름이 아닌 키 값을 취한다는 것입니다. 키 값은 클래스 인스턴스가 반환되는 결과로 매핑되어야 합니다.

키가 invokables 섹션 내에 있으면 ServiceManager는 클래스 이름이라는 가정하에 키가 가리키는 문자열을 인스턴스화하려고 시도합니다.

으아아아

키가 팩토리 섹션 내에 있는 경우 ServiceManager는 키가 가리키는 콜백을 실행하고 객체 인스턴스가 반환될 것으로 예상합니다.

으아아아

일반적으로 클래스를 인스턴스화하는 것 이상의 작업을 수행해야 할 때 팩토리를 사용합니다. 일반적으로 다른 종속성을 사용하여 클래스를 설정해야 합니다. 클래스를 인스턴스화해야 한다면 invokable을 사용하세요.


翻译:
最好这样想:ServiceManagerget()방법법接受一个而不是一个특명,这个会去匹配invokablesfactories中的元素并返回一个创建的对象。ServiceManagerget()方法接受一个而不是一个类名,这个会去匹配invokablesfactories中的元素并返回一个创建的对象。
如果这个是处于invocables的区域, 它就会实例化匹配到的那个类。

'invokables' => array(
    'some_name' => 'My\Mapper\SomeClassName',
),

如果这个处于工厂里,就会通过指向的callback函数实例化一个对象返回。

'factories' => array(
    'some_name' => function($sm) { return new \My\Mapper\SomeClassName(); },
),

(如果都没匹配到就报错了)
一般来说,只有当你不仅仅是实例化一个已存在的类,而是要去构建一个有其他依赖的类的时候才会使用factories,否则的话就用invokables如果这个键 code>是处于invocables적区域, 它就会实例化匹配到的那个类。

으아아아 ㅋㅋㅋ 으아아아 🎜(如果道没匹配到就报错了)🎜一般来说,只有当你不仅仅是实例化一个已存在的类,而是要去构建一个其他依赖的类的时候才会使用공장 ,否则的话就用invokable就好了🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿