[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как взять переменную из другой ф-ии ?
Oggy
Здравствуйте. Есть 2 ф-ии в одном класе.

public function getProductOldPrice()
{
$old_price = $hz->getProduct()->getData('price');
}
public function getProductNewPrice()
{
$t=$this->getProductOldPrice($old_price);
}

Как $old_price из getProductOldPrice использовать в getProductNewPrice ?
Игорь_Vasinsky
агрументом

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Oggy
Цитата (Игорь_Vasinsky @ 19.10.2012 - 06:58)
агрументом

пожалуйста напишите пример...
Michael

public function getProductOldPrice()
{
// откуда $hz ????????????
return $hz->getProduct()->getData('price');
}
public function getProductNewPrice()
{
$t=$this->getProductOldPrice();
}


_____________
There never was a struggle in the soul of a good man that was not hard
Oggy
Цитата (Michael @ 19.10.2012 - 07:09)

public function getProductOldPrice()
{
// откуда $hz ????????????
return $hz->getProduct()->getData('price');
}
public function getProductNewPrice()
{
$t=$this->getProductOldPrice();
}

Warning: Missing argument
Michael
Цитата (Oggy @ 19.10.2012 - 09:18)
Цитата (Michael @ 19.10.2012 - 07:09)

public function getProductOldPrice()
    {     
      // откуда $hz  ????????????
      return $hz->getProduct()->getData('price');
    }
public function getProductNewPrice()
    {
        $t=$this->getProductOldPrice();
    }

Warning: Missing argument

да не надо просто куски какие то вырезанные куски кода сюда пихать...
В том коде нет пропущенного аргумента, где ты там аргумент объявленный в функции видишь, давай показывай.

_____________
There never was a struggle in the soul of a good man that was not hard
kristall
Создай в классе свойство protected $old_price и в методах на него ссылайся $this->old_price.

_____________
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
Игорь_Vasinsky
)) можно вызов метода в методе как выше

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Oggy
Цитата (Michael @ 19.10.2012 - 07:22)
Цитата (Oggy @ 19.10.2012 - 09:18)
Цитата (Michael @ 19.10.2012 - 07:09)
<pre class="sh_sourceCode" rel="php">
<span class="sh_keyword">public function</span> <span class="sh_function">getProductOldPrice</span><span class="sh_symbol">()</span>
    <span class="sh_cbracket">{</span>     
      <span class="sh_comment">// откуда $hz  ????????????</span>
       <span class="sh_control">return</span> <span class="sh_variable">$hz</span><span class="sh_symbol">-></span><span class="sh_function">getProduct</span><span class="sh_symbol">()-></span><span class="sh_function">getData</span><span class="sh_symbol">(</span><span class="sh_string">'price'</span><span class="sh_symbol">);</span>
    <span class="sh_cbracket">}</span>
<span class="sh_keyword">public function</span> <span class="sh_function">getProductNewPrice</span><span class="sh_symbol">()</span>
    <span class="sh_cbracket">{</span>
        <span class="sh_variable">$t</span><span class="sh_symbol">=</span><span class="sh_variable">$this</span><span class="sh_symbol">-></span><span class="sh_function">getProductOldPrice</span><span class="sh_symbol">();</span>
    <span class="sh_cbracket">}</span> </pre>

Warning: Missing argument

да не надо просто куски какие то вырезанные куски кода сюда пихать...
В том коде нет пропущенного аргумента, где ты там аргумент объявленный в функции видишь, давай показывай.

Пробую так - неполучается.
public function getProductOldPrice($observer)
{
$old_price=$observer->getProduct()->getData('price');
return $old_price;
}
public function getProductNewPrice()
{
$t = $this->getProductOldPrice($old_price);
}
tp123
public function getProductOldPrice()
{
$old_price = $hz->getProduct()->getData('price');
return $old_price;
}
public function getProductNewPrice()
{
$t=$this->getProductOldPrice($this->getProductOldPrice());
}

Как то так )

_____________
Oggy
Цитата (tp123 @ 19.10.2012 - 09:08)
public function getProductOldPrice()
{
$old_price = $hz->getProduct()->getData('price');
return $old_price;
}
public function getProductNewPrice()
{
$t=$this->getProductOldPrice($this->getProductOldPrice());
}

Как то так )

я описал переменную как глобал )
SlavaFr
Цитата (Oggy @ 19.10.2012 - 09:18)
Цитата (tp123 @ 19.10.2012 - 09:08)
public function getProductOldPrice()
    {     
       $old_price = $hz->getProduct()->getData('price');
       return $old_price;
    }
public function getProductNewPrice()
    {
        $t=$this->getProductOldPrice($this->getProductOldPrice());
    }

Как то так )

я описал переменную как глобал )

1) global в классе делать нельзя не когда.
2) код в таком виде как ты послал работать не будет

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
tp123
SlavaFr, А кто сказал, что будет работать) Я показал пример работы)

_____________
SlavaFr
Цитата (tp123 @ 1.11.2012 - 04:09)
SlavaFr, А кто сказал, что будет работать) Я показал пример работы)


o @tp123
я и необратил внимание, что это не @Oggy код, а твой.

Мне надо было вместо
Цитата

2) код в таком виде как ты послал работать не будет

написать
Цитата

2) код в таком виде как послал @tp123 работать не будет

smile.gif

причины тому:
1) несуществующая переменная $hz в методе getProductOldPrice
2) отсутствие параметра в функции getProductOldPrice
3) отсутсвие применения getProductOldPrice в getProductNewPrice, так как результат в $t был не применен.

A в общем мне бы причины, по чему код не работает, были бы обсалютно не интерессны, если бы я мог понять принцып его работы.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.