Я новичок в использовании PHP. Я пытаюсь преобразовать код Java в PHP, но с небольшим успехом. особенно объявление типа переменной long, а также объявление объекта класса в виде массива.
public class Company extends User implements Serializable {
private static final long serialVersionUID = 8598447488057067508L;
public String id;
public String companyName;
public String companyCode;
public String avatar;
public Price price;
public List<History> history;
public List<Wall> wallpost;
public boolean isFollowing;
public String toString() {
return "Company [id=" + id
+ ", companyName=" + companyName
+ ", companyCode=" + companyCode
+ ", avatar=" + avatar + "]";
}
}
В PHP
<?php
include "History.php";
include "Price.php";
include "Wall.php";
class Company extends User implements Serializable {
private static final long $serialVersionUID = 8598447488057067508L;// get error here
public $id;
public $companyName;
public $companyCode;
public $avatar;
public Price $price;//object of Price Class how to declare this?
public List<History> $history;//object of History Class how to declare this as a List?
public List<Wall> $wallpost;//object of Wall Class how to declare this as a list?
public boolean $isFollowing; //how to assign boolean to this variable?
}
Я полагаю, что это может быть способ привести это в PHP.
Спасибо за помощь.
Просто определите их как массивы, вы не можете определить тип:
<?php
include "History.php";
include "Price.php";
include "Wall.php";
class Company extends User implements Serializable {
// Define as constant, include value in quotes
const serialVersionUID = "8598447488057067508L";
public $id;
public $companyName;
public $companyCode;
public $avatar;
public $price;
public $history = array();
public $wall = array();
public $isFollowing;
public function __construct()
{
// Set price
$price_obj = new Price();
array_push($this->price, $price_obj);
// Set history
$history_obj = new History();
array_push($this->history, $history_obj);
// Set wall
$wall_obj = new Wall();
array_push($this->wall, $wall_obj);
// Assign boolean
$this->isFollowing = true;
}
}
Вы можете поместить любой тип объекта в переменные / массивы.
final
Ключевое слово может быть использовано только на class
Да, но вы можете определить его как константу.
Вероятно, это странная концепция перехода от строго типизированного языка к слабо типизированному …
Других решений пока нет …