class foo{
function weather($date){
return $temperature;
}
function call(){
$date = "";
$r = $this->weather($date)
}
}
И php выдаёт ошибку Fatal error: Call to undefined function weather
Код придуман, но ситуация примерно такая.
Спустя 1 минута, 18 секунд (28.08.2010 - 17:37) Леонид написал(а):
Прошу прощения - Call to undefined method Engine::weather
Спустя 9 минут, 5 секунд (28.08.2010 - 17:46) Lenarfate написал(а):
для начала поставь точку с запятой
$r = $this->weather($date);
$r = $this->weather($date);
Спустя 1 минута, 10 секунд (28.08.2010 - 17:47) Леонид написал(а):
Не в этом прблема, код придумал.
Спустя 2 минуты (28.08.2010 - 17:49) Lenarfate написал(а):
у меня работает. как ты вызываешь этот метод? покажи
Спустя 2 минуты, 40 секунд (28.08.2010 - 17:52) Guest написал(а):
class mysql_connector{
function db_connect($server, $user, $pass, $base)
{
mysql_connect($server,$user,$pass) or die("Error to connect to db");
mysql_select_db($base) or die("couldnt select db");
}
function get_content_by_id($id)
{
$sql = "SELECT * FROM `content` WHERE `id` = ".$id;
$sql_result = $this->mysql_qt($sql); //Вот так не работает
return $sql_result['content'];
}
function get_title_by_id($id)
{
$sql = "SELECT * FROM `content` WHERE `id` = ".$id;
$sql_result = mysql_connector::mysql_qt($sql); //Вот так работает
return $sql_result['caption'];
}
public static function mysql_qt($query)
{
$sql = mysql_query($query);
if(mysql_num_rows($sql)==0){
return 0;
} else {
$sql_result = mysql_fetch_assoc($sql);
return $sql_result;
}
}
}
Простите за говнокод, какой есть.
Спустя 2 минуты, 51 секунда (28.08.2010 - 17:55) Lenarfate написал(а):
1. при чем тут другой код.
2. раз так, то естественно
2. раз так, то естественно
Цитата |
$sql_result = $this->mysql_qt($sql); //Вот так не работает |
а
Цитата |
$sql_result = mysql_connector::mysql_qt($sql); //Вот так работает |
.
только тк твой метод статический, его надо вызывать так
self::mysql_qt($sql)
Спустя 1 минута, 27 секунд (28.08.2010 - 17:56) Guest написал(а):
Статик я уже в ходе экспериментов добавил. Мне интересно, почему не работает первый вариант, даже без статик не работает.
Спустя 12 минут, 3 секунды (28.08.2010 - 18:08) dvs написал(а):
А так?
<?php
class foo{
function weather($date){
$temperature = $date;
return $temperature;
}
function call(){
$date = "123";
$r = $this->weather($date);
return $r;
}
}
$obj = new foo;
echo $obj->call();
Спустя 2 минуты, 53 секунды (28.08.2010 - 18:11) Romms написал(а):
dvs, работает!!!
Спустя 11 минут, 10 секунд (28.08.2010 - 18:22) dvs написал(а):
я знаю
надеюсь помог
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 17 минут, 58 секунд (28.08.2010 - 18:40) Guest написал(а):
Всё, я понял, просто я извне вызывал функции как статические, вот они и ссылались на нужную мне функцию, как на статическую. я тупица.
Спасибо большое.
Спасибо большое.