Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   php classes (https://forum.antichat.xyz/showthread.php?t=74667)

lomerok 23.06.2008 11:41

php classes
 
Почему нероботает ?

PHP код:

class mysql
{
 public 
$h;
 public 
$u;
 public 
$p;
 public 
$d;
 public 
$q;
 public 
$otvet;
 function 
connect()
 {
  
mysql_connect($h,$u,$p) or die("error 1 host=$h,user=$u,pass=$p");
  
mysql_select_db($d) or die("error 2 base=$d");
 }
 public function 
query()
 {
  
$o=mysql_query($q) or die("error 3");
  
$otvet=mysql_fetch_row($o);
  return 
$otvet;
 }
}
$h='localhost';
$u='root';
$p='';
$d='test';
$q='SELECT * FROM news';
$test=new mysql($h,$u,$p,$d,$q);
print 
"host=$h,user=$u,pass=$p,base=$d,query=$q";
$test->connect();
$test->query();

print 
$otvet


DIAgen 23.06.2008 11:47

Используй __construct()

и еще
void __set ( string $имя, mixed $значение )
void __get ( mixed $имя )

Пример с документации
PHP код:

<?php
class Setter {
  public 
$n;
  private 
$x = array("a" => 1"b" => 2"c" => 3);

  function 
__get($nm) {
    print 
"ЧИтаем [$nm]\n";

    if (isset(
$this->x[$nm])) {
      
$r $this->x[$nm];
      print 
"Получили: $r\n";
      return 
$r;
    } else {
      print 
"Ничего!\n";
    }
  }

  function 
__set($nm$val) {
    print 
"Пишем $val в [$nm]\n";

    if (isset(
$this->x[$nm])) {
      
$this->x[$nm] = $val;
      print 
"OK!\n";
    } else {
      print 
"Всё плохо!\n";
    }
  }
}

$foo = new Setter();
$foo->1;
$foo->100;
$foo->a++;
$foo->z++;
var_dump($foo);
?>


DIAgen 23.06.2008 11:56

А да, еще почитай про ООП на php нормально (:

Цитата:

http://www.php.net/manual/ru/language.oop5.php


Время: 15:48