Tôi đã thêm mô-đun ZfcUser vào ứng dụng Zend Framework 2 của mình. Nhưng tôi phải sử dụng bảng cơ sở dữ liệu hiện có, có tên cột hơi khác với cấu trúc bảng mặc định cho ZfcUser.ZF2: Trình ánh xạ người dùng tùy chỉnh cho mô-đun ZfcUser
Trong ZfcUser wiki page nó nói rằng có thể sử dụng công cụ lập bản đồ tùy chỉnh nếu mô hình của tôi không phù hợp với giao diện được cung cấp. Và vì bảng cơ sở dữ liệu của tôi khác với mặc định, lớp thực thể người dùng của tôi cũng khác với tiêu chuẩn ZfcUser \ Entity \ User. Nhưng tôi có thể nói ZfcUser để làm việc với lớp của riêng tôi dễ dàng bằng cách ghi đè thiết lập trong file config/autoload/zfcuser.global.php:
'user_entity_class' => 'MyApp\Entity\MyUser',
Nhưng `ve không tìm thấy một cách dễ dàng để nói ZfcUser để sử dụng lớp bản đồ của tôi cho đến nay.
Tôi đã chỉ phát hiện ra rằng ánh xạ được tạo ra bởi ZfcUser \ Module :: getServiceConfig() bên trong đó, tôi có thể thấy được ánh xạ được trả về từ chức năng nhà máy:
// ...
public function getServiceConfig()
{
return array(
// ...
'factories' => array(
// ...
'zfcuser_user_mapper' => function ($sm) {
$options = $sm->get('zfcuser_module_options');
$mapper = new Mapper\User();
$mapper->setDbAdapter($sm->get('zfcuser_zend_db_adapter'));
$entityClass = $options->getUserEntityClass();
$mapper->setEntityPrototype(new $entityClass);
$mapper->setHydrator(new Mapper\UserHydrator());
return $mapper;
},
// ...
Có cách nào để làm cho ZfcUser sử dụng lớp người lập bản đồ người dùng tùy chỉnh của tôi?
Cảm ơn bạn! Tôi đã tìm kiếm các thông tin rất giống nhau, và với sự giúp đỡ của bài viết của bạn, tôi quản lý để tải lại các lớp Entity và Mapper của zfcUser được sử dụng với DB của tôi và chức năng mở rộng của Entity! – Brock