классы php

12
chemax
На сайте с 07.01.2009
Offline
206
1188

вот в принципе столкнулся с проблемой освоения классов php. вроде все просто, а ничего не получается.

например есть:

class a

{

public $a;

function f_a()

{

$a='чемутотам';

}

function f_a()

{

$b=$a;

}

}

class c

{

public $c;

function f_c()

{

$c=$b;

}

}

echo $c;

обьясните что сделать чтобы правильно работать. не пойму что то.

Качественный хостинг, VPS и сервера. (http://ihc.ru/?ref=569)
BR
На сайте с 28.06.2008
Offline
75
#1

php.net - в Вашем случае потеряно ключевое слово $this

размещение сайтов (http://www.brim.ru)
Linkpusher
На сайте с 28.12.2007
Offline
176
#2

$this->имя переменной без $

Точу ножи. Буквально. Есть отзывы. Заказать заточку в МСК и Подольске можно через Телеграмм.
CR
На сайте с 21.11.2008
Offline
146
#3

пардон, но это была перегрузка?? Она работает? " раза функцию объявил!

BR
На сайте с 28.06.2008
Offline
75
#4
Chikey.ru:
пардон, но это была перегрузка?? Она работает? " раза функцию объявил!

- это была синтаксическая ошибка :) Переопределение метода (overwriting) возможно при наследовании, а в Вашем коде про наследование ничего не написано.

chemax
На сайте с 07.01.2009
Offline
206
#5

<?

class main

{

public $y;

public $a;

public $b;

public $c;

function get_ID()

{

return $y = trim($_GET['y']);

$a = intval(trim($_GET['a']));

$b = intval(trim($_GET['b']));

$c = intval(trim($_GET['c']));

prov($y, $a, $b, $c);

}

function prov($y, $a, $b, $c)

{

if (empty($this->y) or empty($this->a) or empty($this->b) or empty($this->c) or ($this->a<$this->b) or ($this->c<=0)){echo 'не корректные данные.'; exit;}

prov($y, $a, $b, $c);

}

function prov_f($y)

{

if (preg_match("#[^A-Za-z0-9\/\-\*\+\^\(\)\,\.]#is",$this->y)) {echo 'не корректные данные.'; exit;}

}

}

class rasch

{

function raschTable()

{

$data=array();

$j=0;

$l=0;

for($i=$a;$i<=$b;$i+=$c)

{

$str1=str_replace('x',$i,$y);

$str1='$y='.$str1.';';

eval($str1);

$data[]=$y;

if ($i==o){$k=$j;}

elseif($i>0 and ($i-$a)<0){$k=($j+$j-1)/2;}

if ($y<0){$l++;}

$j++;

}

}

}

и здесь идет вывод массива $date например. не могу реализовать. не могу понять классы, а требуют в институте.

?>

N0
На сайте с 12.01.2007
Offline
37
#6


function get_ID()
{
return $y = trim($_GET['y']);//возвращение данных из функции
//дальше код выполнятся не будет
$a = intval(trim($_GET['a']));
$b = intval(trim($_GET['b']));
$c = intval(trim($_GET['c']));
prov($y, $a, $b, $c);
}

Читайте документацию, в интернете для новичков ее полно с хорошими примерами.

JTRTA
На сайте с 06.07.2008
Offline
25
#7

1.Перегрузки функций в пхп5 точно нет:( надо ручками проверять количество введенных параметров и выполнять разный код.

2. если вы хотите кодом:

$a = intval(trim($_GET['a']));

изменить атрибут "a" для класса надо писать $this->a = intval(trim($_GET['a'])); так как в вашем случае вы просто создали переменную $a локальную для функции

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
M
На сайте с 23.01.2009
Offline
12
#8

Чтобы не париться пиши var вместо public, а если уж public написал то уж не забывай про this :). Это про переменные.

написание скриптов... icq 377816882
N1
На сайте с 21.03.2009
Offline
31
#9
modobaks:
Чтобы не париться пиши var вместо public, а если уж public написал то уж не забывай про this :). Это про переменные.

Использование var вместо public не избавит от необходимости обращаться к переменным класса через $this.

Промокод TKAJI (http://textkit.ru/buy/?code=TKAJI) на покупку TextKit со скидкой для форумчан.
S
На сайте с 13.07.2007
Offline
56
#10
chemax:
<?
*****************************
class rasch
{
function raschTable()
{
$data=array();
$j=0;
$l=0;

for($i=$a;$i<=$b;$i+=$c)
{
$str1=str_replace('x',$i,$y);
$str1='$y='.$str1.';';
eval($str1);
$data[]=$y;
if ($i==o){$k=$j;}
elseif($i>0 and ($i-$a)<0){$k=($j+$j-1)/2;}
if ($y<0){$l++;}
$j++;
}
}
}

и здесь идет вывод массива $date например. не могу реализовать. не могу понять классы, а требуют в институте.

?>

Случаем не так ли надо? :)


class rasch
{
function raschTable()
{
$class_main = new main;

$data=array();
$j=0;
$l=0;

for($i=$class_main->a;$i<=$class_main->b;$i+=$class_main->c)
{
$str1=str_replace('x',$i,$class_main->y);
$str1='$y='.$str1.';';
eval($str1);
$data[]=$y;
if ($i==o){$k=$j;}
elseif($i>0 and ($i-$a)<0){$k=($j+$j-1)/2;}
if ($class_main->y<0){$l++;}
$j++;
}
}
}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий