Как расширить CHttpRequest ?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
bettrrr
Сообщения: 38
Зарегистрирован: 2010.02.18, 20:58

Как расширить CHttpRequest ?

Сообщение bettrrr »

Точнее надо изменить метод в классе CCookieCollection, для чего он был расширен в CookieCollection (без С)

В CHttpRequest жестко прописано new CCookieCollection($this) в методе getCookies()

Можно переопределить компонент CHttpRequest в конфиге, что и было сделано.

Но в методе CHttpRequest->getCookies() используется переменная _cookies, которая почему-то сделана private, вместо protected (собственно там все переменные private), но методы, которые работают с ними - protected (т.е. переопределяйте пожалуйста, только работать мы не будем)

Код:

Код: Выделить всё

<?php
class HttpRequest extends CHttpRequest
{
    public function getCookies()
    {
        if($this->_cookies!==null)
            return $this->_cookies;
        else
            return $this->_cookies=new CookieCollection($this);
    }
} 
выводит ошибку.
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: Как расширить CHttpRequest ?

Сообщение delvin »

а сделать

Код: Выделить всё

<?php
class HttpRequest extends CHttpRequest {
    protected $_cookies;
} 
что мешает?
Аватара пользователя
Caveman
Сообщения: 152
Зарегистрирован: 2009.04.04, 20:56
Откуда: Москва
Контактная информация:

Re: Как расширить CHttpRequest ?

Сообщение Caveman »

delvin писал(а):а сделать

Код: Выделить всё

<?php
class HttpRequest extends CHttpRequest {
    protected $_cookies;
} 
что мешает?
При таком варианте требуется переопределять все родительские методы, использующие $_cookies .

Такие моменты встречаются. Сталкивался пару раз.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как расширить CHttpRequest ?

Сообщение samdark »

Такие моменты встречаются. Сталкивался пару раз.
В баг-репорты такие места надо.
Аватара пользователя
Caveman
Сообщения: 152
Зарегистрирован: 2009.04.04, 20:56
Откуда: Москва
Контактная информация:

Re: Как расширить CHttpRequest ?

Сообщение Caveman »

Sam Dark писал(а):
Такие моменты встречаются. Сталкивался пару раз.
В баг-репорты такие места надо.
Да, действительно.Оформлю :)
Ответить