2014-09-29 2 views
1

Я новичок в использовании PHP. Я пытаюсь преобразовать Java-код в PHP, но с небольшим успехом. особенно объявляя тип переменной long, а также объявляя объект класса как массив.Преобразование кода из Java в формат PHP.

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.

Спасибо за помощь.

+0

Пробовали ли вы какие-либо инструменты для преобразования Java в PHP? –

+0

@Evan: Можете ли вы предложить некоторые бесплатные инструменты с открытым исходным кодом? –

+1

@ MD.MohiuddinAhmed, я пробовал, но не повезло. Посмотрите результат: http://myhashcode.blogspot.sg/2015/02/convert-java-to-php.html –

ответ

1

Просто определить их как массивы, вы не можете определить тип:

<?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 es, но вы можете определить его как константу.

Это, наверное, странное понятие происходит от сильно типизированного языка слабо типизированного один ...

+0

Привет, coulton, спасибо за ваш ответ, но я получаю сообщение об ошибке с помощью private const $ serialVersionUID = "8598447488057067508L «; «непредвиденная константа», «непредвиденная переменная». –

+0

Извините, я просто заметил верхний комментарий здесь, в документах http://php.net/manual/en/language.oop5.constants.php 'Это может показаться очевидным, но константы класса они не могут быть закрыты или защищены. Я не вижу, что это указано в документах в любом месте. Я удалил форму «private» с постоянным определением и '' 'на этот счет. t есть '$' – Luke

+0

Упс, я пропустил 'функцию' из метода' __construct() '. Я пошел на все C# на вас lol. Я только что протестировал код и теперь корректно работает: http: // www .tehplayground.com/# kBdKRc9TO – Luke

 Смежные вопросы

  • Нет связанных вопросов^_^