Использование переменных класса PHP из другого класса - PullRequest
0 голосов
/ 06 января 2012

У меня проблема с набором кода. Я не могу получить переменную для отображения.

Вот функция

    public function __construct($id = self::DHMeetingCommentCardNew, DHMeetingGroup $meetingGroup = null)
    {
        global $DB;

        if ($id == self::DHMeetingCommentCardNew)
        {
            var_dump($meetingGroup);
            $query = "INSERT INTO `" . self::DHMeetingCommentCardTable . "` (`UniqueID`, `MeetingGroup`) VALUES (UUID(), '{$meetingGroup['_id']}')";
            $DB->query($query);

            $this->_id = $DB->lastID();
            $this->_initializeNewCommentCard();
        }
        else
        {
            $this->_id = intval($id);
        }
    }

Я не могу получить идентификатор из переменной $ meetingGroup.

Для var_dump ($ meetingGroup) это выдает это.

NULL object(DHMeetingGroup)#10745 (1) { ["_id":"DHMeetingGroup":private]=> int(11086) }

Ответы [ 2 ]

0 голосов
/ 06 января 2012

попробуйте добавить этот код в свой класс DHMeetingGroup

public function get_id()
{
    return $this->_id;
}

, а затем изменив эту строку (в предполагаемом классе называется DHMeetingCommentCard)

$query = "INSERT INTO `" . self::DHMeetingCommentCardTable . "` (`UniqueID`, `MeetingGroup`) VALUES (UUID(), '{$meetingGroup['_id']}')";

до

$query = "INSERT INTO `" . self::DHMeetingCommentCardTable . "` (`UniqueID`, `MeetingGroup`) VALUES (UUID(), '{$meetingGroup->get_id()}')";
0 голосов
/ 06 января 2012

Пока свойство определено как property, вы можете получить к нему доступ только из того же экземпляра (и того же класса), но не снаружи.

Единственное, что вы можете сделать, это изменить способ объявления свойства _id в DHMeetingGroup с private на public

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...