non so se è già capitato a qualcuno, ma io non riesco a trovarne una ragione, poiche tutto funziona sul server locale ma poi non va bene quando lo provo in altervista.
dunque: ho questa enum:
questo è il metodo che la richiama:Codice:<?php namespace App\Models\enums; enum PersonType:int { case Atleta=41; case Club=42; case Altro=43; case Fornitore=44; case Contatto=45; public static function getLabel(self $value):string { return match($value) { PersonType::Atleta=>'Atleta', PersonType::Club=>'Clubs o Enti', PersonType::Contatto=>'Contatto', PersonType::Fornitore=>'Ditta fornitrice', PersonType::Altro=>'Altri tipi' }; } }
questo il frammento di view che dovrebbe mostrare il contenuto:Codice:use App\Models\enums\PersonType; ... public function showCreate() { if (!empty($_SESSION['message'])){ $info=getPartials('_message'); }else{ $info=null; } $this->personVM->Tipo=41; $this->content=view('persons'.DIRECTORY_SEPARATOR.'create',[ 'info'=>$info, 'personVM'=>$this->personVM, 'types'=>PersonType::cases() ]); }
questo funziona sul mio computer ma quando provo a farlo girare sul server Altervista viene fuori questo errore:Codice:<div class="col"> <select class="select form-select-sm" name="Tipo" id="tipo" value="<?=$personVM->Tipo?>" onchange="document.form.searchForm.submit()"> <?php foreach($types as $type){?> <option value="<?=$type->value?>"><?=$type::getLabel($type)?></option> <?php }?> </select> </div>
, per la cronaca la linea 5 contiene:enum PersonType:int.Codice PHP:Parse error: syntax error, unexpected identifier "PersonType" in /membri/isolaverdebasketit/app/models/enums/PersonType.php on line 5
C'è qualcuno che ha affrontato un simile problema? (php ver 8.0)

LinkBack URL
About LinkBacks
