You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SAE_2A_FA-Reseau_ALICA/php/metier/Offre.php

213 lines
4.2 KiB

<?php
enum TypeContrat
{
case CDI;
case CDD;
case Alternance;
case Stage;
}
enum ProfilRecherche
{
case Junior;
case Senior;
case Indifferent;
}
enum NiveauEtudes: string
{
case Bac2 = "Bac+2";
case Bac3 = "Bac+3";
case Bac5 = "Bac+5";
case Indifferent = "Indifferent";
}
class Offre
{
/**
* @var int Identifiant
*/
private int $id;
/**
* @var Alumni Offreur
*/
private Alumni $offreur;
/**
* @var string intitulé de l'offre
*/
private string $nom;
/**
* @var string Description de l'offre
*/
private string $description;
/**
* @var string Url de l'image
*/
private string $imageUrl;
/**
* @var TypeContrat Type de contrat
*/
private TypeContrat $typeContrat;
/**
* @var string Ville
*/
private string $ville;
/**
* @var string Entreprise de l'offre
*/
private string $entreprise;
/**
* @var string Descriptif du poste
*/
private string $descriptifPoste;
/**
* @var ProfilRecherche Profil recherché
*/
private ProfilRecherche $profil;
/**
* @var string Experience
*/
private string $experience;
/**
* @var NiveauEtudes Niveau d'études
*/
private NiveauEtudes $niveauEtudes;
/**
* @var string Email de contact
*/
private string $mailContact;
/**
* @var string Numero
*/
private string $numero;
/**
* @var string Url du site
*/
private string $siteUrl;
/**
* @param int $id
* @param Alumni $offreur
* @param string $nom
* @param string $description
* @param string $imageUrl
* @param TypeContrat $typeContrat
* @param string $ville
* @param string $entreprise
* @param string $descriptifPoste
* @param Profil $profil
* @param string $experience
* @param NiveauEtudes $niveauEtudes
* @param string $mailContact
* @param string $numero
* @param string $siteUrl
*/
public function __construct(int $id, Alumni $offreur, string $nom, string $description, string $imageUrl, TypeContrat $typeContrat, string $ville, string $entreprise, string $descriptifPoste, Profil $profil, string $experience, NiveauEtudes $niveauEtudes, string $mailContact, string $numero, string $siteUrl)
{
$this->id = $id;
$this->offreur = $offreur;
$this->nom = $nom;
$this->description = $description;
$this->imageUrl = $imageUrl;
$this->typeContrat = $typeContrat;
$this->ville = $ville;
$this->entreprise = $entreprise;
$this->descriptifPoste = $descriptifPoste;
$this->profil = $profil;
$this->experience = $experience;
$this->niveauEtudes = $niveauEtudes;
$this->mailContact = $mailContact;
$this->numero = $numero;
$this->siteUrl = $siteUrl;
}
public function getId(): int
{
return $this->id;
}
public function getOffreur(): Alumni
{
return $this->offreur;
}
public function getNom(): string
{
return $this->nom;
}
public function getDescription(): string
{
return $this->description;
}
public function getImageUrl(): string
{
return $this->imageUrl;
}
public function getTypeContrat(): TypeContrat
{
return $this->typeContrat;
}
public function getVille(): string
{
return $this->ville;
}
public function getEntreprise(): string
{
return $this->entreprise;
}
public function getDescriptifPoste(): string
{
return $this->descriptifPoste;
}
public function getProfil(): Profil
{
return $this->profil;
}
public function getExperience(): string
{
return $this->experience;
}
public function getNiveauEtudes(): NiveauEtudes
{
return $this->niveauEtudes;
}
public function getMailContact(): string
{
return $this->mailContact;
}
public function getNumero(): string
{
return $this->numero;
}
public function getSiteUrl(): string
{
return $this->siteUrl;
}
}