ZfcUser расширяет пользовательский класс дополнительной функцией get

Я новичок в Zend2 Framework и установил ZfcUser с добавленным столбцом базы данных, к которому я хотел бы получить доступ через:

<?php echo $this->zfcUserIdentity()->getOrg(); ?>

Любая помощь по расширению пользовательского класса для доступа к этой переменной будет принята с благодарностью.

Райан

1 ответ

Решение

Расширьте сущность пользователя ZfcUser, включив в нее новое свойство и средства доступа. Вам нужно будет сделать это в своем собственном модуле, или, если вы используете скелетное приложение, в Application модуль будет работать.

<?php
namespace Application\Entity;

use ZfcUser\Entity\User;

class MyUser extends User
{
    protected $org;

    public function setOrg($org)
    {
        $this->org = $org;
        return $this;
    } 

    public function getOrg()
    {
        return $this->org;
    } 
}

копия vendor/ZfcUser/config/zfcuser.global.php.dist в /config/autoload/zfcuser.global.php

Откройте файл, который вы только что скопировали в вашем редакторе, и найдите раздел ниже

 /**
 * User Model Entity Class
 *
 * Name of Entity class to use. Useful for using your own entity class
 * instead of the default one provided. Default is ZfcUser\Entity\User.
 * The entity class should implement ZfcUser\Entity\UserInterface
 */
//'user_entity_class' => 'ZfcUser\Entity\User',

раскомментируйте строку и замените значение полностью определенным именем класса MyUser сущность, которую вы создали

'user_entity_class' => 'Application\Entity\MyUser',

Затем попробуйте получить доступ к вашему методу

<?php echo $this->zfcUserIdentity()->getOrg(); ?>
Другие вопросы по тегам