Autor Zpráva
PHP_Nemaster
Profil
Dobrý den,
mám jeden problém s objektovým programováním v PHP.

V normálním PHP můžete udělat toto:
$exists = function_exists('curl_init');
, ale když v objektovém PHP napíšu:
public $exists = function_exists('curl_init');
, napíše mi to následující chybu:

Parse error: parse error, expecting `T_FUNCTION' in C:\wamp\www\apitest\web_api.php on line 5

Poradíte mi prosím co je špatně?
Předem děkuji za odpověd'
Nox
Profil
Toto máš předpokládám v globální části třídy a ne uvnitř metody...

class Neco
{
public $promenna; // toto ano

  public function metoda(){
    public $promenna2; // toto ne!
    $promenna3; // toto ano
  }
}


Jinak inicializovat proměnnou lze podle mě jen literálem

class Neco{
  // ANO
  public $promenna = 5;
  public $promenna2 = NULL;
  public $promenna = array();
  // NE
  public $promenna = moje_funkce(7, "blabla");
}
PHP_Nemaster
Profil
Aha, takže to nejde. Děkuji za odpověd'.
Majkl578
Profil
Jde to nejdříve v konstruktoru objektu. V definici lze uvést pouze konstantní položky.

class Foo
{
  const BLAH = 1;
  
  private $a = self::BLAH;
  public $b = array(1, 2, 3);
  public $c = 1;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0