1

I'm trying to create component diagrams in PHP with reverse engineering using Enterprise Architect tool. But it occurs errors when I try to perform it. These are the error logs:

There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Client.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Sensor.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Site.php  on line 9.  Unexpected symbol: [ 
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\User.php  on line 17.  Unexpected symbol: [    
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Client.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Sensor.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Site.php  on line 9.  Unexpected symbol: [ 
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\User.php  on line 17.  Unexpected symbol: [    
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Client.php  on line 10.  Unexpected symbol: ,  
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Sensor.php  on line 10.  Unexpected symbol: ,  
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Site.php  on line 10.  Unexpected symbol: ,    
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\User.php  on line 18.  Unexpected symbol: ,    
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Client.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Sensor.php  on line 9.  Unexpected symbol: [   
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\Site.php  on line 9.  Unexpected symbol: [ 
There was an error parsing C:\Users\Utente\Dropbox\FourBit\Ingegneria\PROGETTO\Componenti Progetto\Class\User.php  on line 17.  Unexpected symbol: [    

For example, the following is the code of Client.php:

<?php

    namespace App;

    use Illuminate\Database\Eloquent\Model;

    class Client extends Model
    {
        protected $fillable = [
            'PI', 'BusinessName'
        ];

        public function address()
        {
            return $this->belongsTo(Address::class);
        }

        public function users()
        {
            return $this->hasMany(User::class);
        }

The error parsing is on protected $fillable = [ 'PI', 'BusinessName' ]; I don't know if this can help you, but I'm using as framework Laravel. Anyone can help me, please?

  • 2
    It would seem your "Enterprise Architect tool" does not recognize new PHP array syntax. – Matteo Tassinari Jun 14 '17 at 09:44
  • 1
    Outdated php version^, also, you have 6 questions, none of which you have selected the correct answer on. If an answer solves you problem, mark it as correct. – Enstage Jun 14 '17 at 09:46

2 Answers2

3

As the others pointed out, the $array = [ 'key' => 'value' ]; syntax was introduced in php 5.4 by default in ea, php generation uses version 5.3, but you can change it to 5.6. Follow these screenshots: Click the Configure ribbon then the Options Menu Once in the Manage project Options dialog, you can change the default version for PHP

Mart10
  • 758
  • 3
  • 14
2

Check your PHP Version, the array syntax $array = [ 'key' => 'value' ]; was only introduced in PHP 5.5 (I believe) so anything less will cause a syntax error.

jameshd
  • 21
  • 4