PHP sınıfları, ayrıştırma sözdizimi hataları değişkenleri bildirmek için 'var' kullanıyor

1 Cevap php

Ben php üzerinde benim cepten anlayış bazı çevirmek için çalışan bir C # adamım. Benim birinci sınıf nesne yapmak için çalışıyorum ve birkaç aksaklık isabet vardır.

İşte sınıfın başlangıcıdır:

<?php

require("Database/UserDB.php");

class User {

  private var $uid;
  private var $username;
  private var $password;
  private var $realname;
  private var $email;
  private var $address;
  private var $phone;
  private var $projectArray;

  public function _construct($username) {

    $userArray = UserDB::GetUserArray($username);
    $uid       = $userArray['uid'];
    $username  = $userArray['username'];
    $realname  = $userArray['realname'];
    $email     = $userArray['email'];
    $phone     = $userArray['phone'];
    $i = 1;
    $projectArray = UserDB::GetUserProjects($this->GetID());
    while($projectArray[$i] != null) {
      $projectArray[$i] = new Project($projectArray[$i]);
    }

Ben bu Kullanıcı Sınıf Veritabanı ile etkileşim tüm statik işlevleri nerede UserDB.php olduğunu. Ben var kullanmak zaman kullanarak hataları alıyorum ve ben karıştı alıyorum. Ben var kullanmak için VAR, ya da tüm değişkenleri ilan yok biliyorum, ama ben bunu yapmak için daha iyi bir uygulamadır hissediyorum.

hata "T_VARIABLE bekliyor beklenmeyen T_VAR" dir

Ben sadece o çalışıyor açıklamalardan VAR kaldırdığınızda. Neden bu?

1 Cevap

Eğer şeyleri karıştırma. Before PHP 5 oldu

var $uid;

Since PHP 5 o

private $uid; // or
protected $uid; // or
public $uid;

Sen Properties documentation bu konuda okuyabilirsiniz:

Note: In order to maintain backward compatibility with PHP 4, PHP 5 will still accept the use of the keyword var in property declarations instead of (or in addition to) public, protected, or private. However, var is no longer required. In versions of PHP from 5.0 to 5.1.3, the use of var was considered deprecated and would issue an E_STRICT warning, but since PHP 5.1.3 it is no longer deprecated and does not issue the warning. If you declare a property using var instead of one of public, protected, or private, then PHP 5 will treat the property as if it had been declared as public.