Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie matematyczne w OOP
Forum PHP.pl > Forum > Przedszkole
infoo1
Mam takie coś:
  1. <?php
  2. class session
  3. {
  4.  var $session_lifetime = 2*60*60;
  5. }
  6. ?>
Wyświetla:
Cytat
Parse error: syntax error, unexpected '*', expecting ',' or ';' in D:\www\class_session.php on line 7
Co zrobić, aby móc stosować wyrażenie, a nie liczbę? Jak gdzieś indziej dam np. echo 2*60*60 to wyświetla 7200 (poprawnie).
pest
Zapisz to w konstruktorze, to wtedy powinno działać.
Proste zainicjowanie zmiennej (właściwości) w ciele klasy jest dopuszczalne, ale wyrażenia raczej powinny się znajdować w metodach (funkcjach) klasy.

Dlatego lepiej spróbować zapisać:
  1. <?php
  2. class session
  3. {
  4. var $session_lifetime;
  5.  
  6. function session() {
  7. $this->session_lifetime = 2*60*60;
  8. }
  9. }
  10. ?>


Kod zapisany jest w notacji php4, bo tak też został zapoczątkowany (var).

Edit:
Błąd w nazwie zmiennej poprawiony.
nevt
  1. <?php
  2. class session
  3. {
  4.  var $session_lifetime;
  5.  
  6.  public function __construct()
  7.  {
  8.    $this->session_lifetime = 2*60*60;
  9.  }
  10. }
  11. ?>


EDIT: wersja powyżej w PHP4 (po poprawieniu błędu), a ta w PHP5...
xerek
zamiast var stosuj operatory dostepu  z php5
public , protected, private  a operacje matematyczne wykonuj w konstruktorze a nie przy deklaracji wlasciwosci 
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.