Skip to content
Snippets Groups Projects
Commit 85f2279d authored by bertrandgauthier's avatar bertrandgauthier
Browse files

Dockerfile + Doctrine

parent 3824d714
No related branches found
No related tags found
No related merge requests found
......@@ -18,10 +18,10 @@
#
# OR use plain old docker
#
# docker build -f Dockerfile-dev -t apigility .
# docker run -it -p "8080:80" -v $PWD:/var/www apigility
# docker build -f Dockerfile -t apigility .
# docker run -d -p "8080:8080" -v $PWD:/var/www apigility
#
FROM php:7.0-apache
FROM adrianharabula/php7-with-oci8
ENV http_proxy=http://10.14.128.99:3128
ENV https_proxy=http://10.14.128.99:3128
......@@ -38,3 +38,6 @@ RUN apt-get update \
&& echo "AllowEncodedSlashes On" >> /etc/apache2/apache2.conf
WORKDIR /var/www
EXPOSE 8080
CMD ["php", "-S", "0.0.0.0:8080", "-ddisplay_errors=0", "-t", "/var/www/public", "/var/www/public/index.php"]
......@@ -31,7 +31,8 @@
"zfcampus/zf-apigility": "^1.3",
"zfcampus/zf-apigility-documentation": "^1.2.3",
"zfcampus/zf-development-mode": "^3.0",
"zfcampus/zf-apigility-doctrine": "^2.1"
"zfcampus/zf-apigility-doctrine": "^2.1",
"doctrine/doctrine-orm-module": "^1.1"
},
"require-dev": {
"zendframework/zend-developer-tools": "^1.1",
......@@ -47,7 +48,8 @@
},
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/"
"Application\\": "module/Application/src/",
"FirstRest\\": "module/FirstRest/src/"
}
},
"autoload-dev": {
......
......@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "57bc71b5241155a3ff4b12150973248f",
"content-hash": "26de5b07b606187d5e116e8caa92e79e",
"packages": [
{
"name": "api-skeletons/zf-doctrine-module-zend-hydrator",
......@@ -410,6 +410,77 @@
],
"time": "2017-07-22T08:35:12+00:00"
},
{
"name": "doctrine/dbal",
"version": "v2.5.13",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "729340d8d1eec8f01bff708e12e449a3415af873"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873",
"reference": "729340d8d1eec8f01bff708e12e449a3415af873",
"shasum": ""
},
"require": {
"doctrine/common": ">=2.4,<2.8-dev",
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "4.*",
"symfony/console": "2.*||^3.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\DBAL\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
}
],
"description": "Database Abstraction Layer",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"database",
"dbal",
"persistence",
"queryobject"
],
"time": "2017-07-22T20:44:48+00:00"
},
{
"name": "doctrine/doctrine-module",
"version": "1.2.0",
......@@ -502,6 +573,94 @@
],
"time": "2016-10-03T19:40:55+00:00"
},
{
"name": "doctrine/doctrine-orm-module",
"version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineORMModule.git",
"reference": "8cb46190022ac71ef644416bd422ce2fb54d4823"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineORMModule/zipball/8cb46190022ac71ef644416bd422ce2fb54d4823",
"reference": "8cb46190022ac71ef644416bd422ce2fb54d4823",
"shasum": ""
},
"require": {
"doctrine/dbal": ">=2.4,<2.7",
"doctrine/doctrine-module": "^1.2",
"doctrine/orm": ">=2.5,<2.7",
"php": "^5.6 || ^7.0",
"symfony/console": "^2.3 || ^3.0",
"zendframework/zend-hydrator": "^1.1 || ^2.2.1",
"zendframework/zend-mvc": "^2.7.10 || ^3.0.1",
"zendframework/zend-servicemanager": "^2.7.6 || ^3.1",
"zendframework/zend-stdlib": "^2.7.7 || ^3.0.1"
},
"require-dev": {
"doctrine/data-fixtures": "^1.2.1",
"doctrine/migrations": "^1.4.1",
"phpunit/phpunit": "^5.7.17 || ^6.2.1",
"squizlabs/php_codesniffer": "^2.7",
"zendframework/zend-console": "^2.6",
"zendframework/zend-developer-tools": "^1.1",
"zendframework/zend-i18n": "^2.7.3",
"zendframework/zend-log": "^2.9",
"zendframework/zend-modulemanager": "^2.7.2",
"zendframework/zend-serializer": "^2.8"
},
"suggest": {
"doctrine/migrations": "doctrine migrations if you want to keep your schema definitions versioned",
"zendframework/zend-developer-tools": "zend-developer-tools if you want to profile operations executed by the ORM during development",
"zendframework/zend-form": "if you want to use form elements backed by Doctrine"
},
"type": "library",
"extra": {
"zf": {
"module": "DoctrineORMModule"
}
},
"autoload": {
"psr-0": {
"DoctrineORMModule\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kyle Spraggs",
"email": "theman@spiffyjr.me",
"homepage": "http://www.spiffyjr.me/"
},
{
"name": "Evan Coury",
"email": "me@evancoury.com",
"homepage": "http://blog.evan.pro/"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@hotmail.com"
},
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
"homepage": "http://marco-pivetta.com/"
}
],
"description": "Zend Framework Module that provides Doctrine ORM functionality",
"homepage": "http://www.doctrine-project.org/",
"keywords": [
"doctrine",
"module",
"orm",
"zf"
],
"time": "2017-09-20T01:06:34+00:00"
},
{
"name": "doctrine/inflector",
"version": "v1.2.0",
......@@ -677,6 +836,82 @@
],
"time": "2014-09-09T13:34:57+00:00"
},
{
"name": "doctrine/orm",
"version": "v2.5.14",
"source": {
"type": "git",
"url": "https://github.com/doctrine/doctrine2.git",
"reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754",
"reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754",
"shasum": ""
},
"require": {
"doctrine/cache": "~1.4",
"doctrine/collections": "~1.2",
"doctrine/common": ">=2.5-dev,<2.9-dev",
"doctrine/dbal": ">=2.5-dev,<2.7-dev",
"doctrine/instantiator": "^1.0.1",
"ext-pdo": "*",
"php": ">=5.4",
"symfony/console": "~2.5|~3.0|~4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"symfony/yaml": "~2.3|~3.0|~4.0"
},
"suggest": {
"symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
},
"bin": [
"bin/doctrine",
"bin/doctrine.php"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\ORM\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
}
],
"description": "Object-Relational-Mapper for PHP",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"database",
"orm"
],
"time": "2017-12-17T02:57:51+00:00"
},
{
"name": "michelf/php-markdown",
"version": "1.8.0",
......@@ -3598,12 +3833,12 @@
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/kherge-abandoned/php-json.git",
"url": "https://github.com/kherge-php/json.git",
"reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kherge-abandoned/php-json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1",
"url": "https://api.github.com/repos/kherge-php/json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1",
"reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1",
"shasum": ""
},
......@@ -3651,6 +3886,7 @@
"schema",
"validate"
],
"abandoned": "kherge/json",
"time": "2013-10-30T16:51:34+00:00"
},
{
......@@ -3708,6 +3944,7 @@
"phar",
"update"
],
"abandoned": true,
"time": "2013-10-30T17:23:01+00:00"
},
{
......@@ -3816,6 +4053,7 @@
],
"description": "A parsing and comparison library for semantic versioning.",
"homepage": "http://github.com/kherge/Version",
"abandoned": true,
"time": "2012-08-16T17:13:03+00:00"
},
{
......
......@@ -27,8 +27,8 @@ return [
'ZF\\Rpc',
'ZF\\Versioning',
'DoctrineModule',
'DoctrineORMModule',
'Phpro\DoctrineHydrationModule',
'ZF\Apigility\Doctrine\Admin',
'ZF\Apigility\Doctrine\Server',
'Application',
'FirstRest',
......
......@@ -16,11 +16,21 @@ return [
],
],
],
'first-rest.rest.doctrine.doctorant' => [
'type' => 'Segment',
'options' => [
'route' => '/doctorant[/:doctorant_id]',
'defaults' => [
'controller' => 'FirstRest\\V1\\Rest\\Doctorant\\Controller',
],
],
],
],
],
'zf-versioning' => [
'uri' => [
0 => 'first-rest.rest.ping',
1 => 'first-rest.rest.doctrine.doctorant',
],
],
'zf-rest' => [
......@@ -42,10 +52,33 @@ return [
'collection_class' => \FirstRest\V1\Rest\Ping\PingCollection::class,
'service_name' => 'Ping',
],
'FirstRest\\V1\\Rest\\Doctorant\\Controller' => [
'listener' => \FirstRest\V1\Rest\Doctorant\DoctorantResource::class,
'route_name' => 'first-rest.rest.doctrine.doctorant',
'route_identifier_name' => 'doctorant_id',
'entity_identifier_name' => 'id',
'collection_name' => 'doctorant',
'entity_http_methods' => [
0 => 'GET',
1 => 'PATCH',
2 => 'PUT',
],
'collection_http_methods' => [
0 => 'GET',
1 => 'POST',
],
'collection_query_whitelist' => [],
'page_size' => '25',
'page_size_param' => 'p',
'entity_class' => \FirstRest\V1\Entity\Db\Doctorant::class,
'collection_class' => \FirstRest\V1\Rest\Doctorant\DoctorantCollection::class,
'service_name' => 'Doctorant',
],
],
'zf-content-negotiation' => [
'controllers' => [
'FirstRest\\V1\\Rest\\Ping\\Controller' => 'HalJson',
'FirstRest\\V1\\Rest\\Doctorant\\Controller' => 'HalJson',
],
'accept_whitelist' => [
'FirstRest\\V1\\Rest\\Ping\\Controller' => [
......@@ -60,6 +93,18 @@ return [
1 => 'application/json',
],
],
'accept-whitelist' => [
'FirstRest\\V1\\Rest\\Doctorant\\Controller' => [
0 => 'application/vnd.first-rest.v1+json',
1 => 'application/hal+json',
2 => 'application/json',
],
],
'content-type-whitelist' => [
'FirstRest\\V1\\Rest\\Doctorant\\Controller' => [
0 => 'application/json',
],
],
],
'zf-hal' => [
'metadata_map' => [
......@@ -75,6 +120,248 @@ return [
'route_identifier_name' => 'ping_id',
'is_collection' => true,
],
\FirstRest\V1\Entity\Db\Doctorant::class => [
'route_identifier_name' => 'doctorant_id',
'entity_identifier_name' => 'id',
'route_name' => 'first-rest.rest.doctrine.doctorant',
'hydrator' => 'FirstRest\\V1\\Rest\\Doctorant\\DoctorantHydrator',
],
\FirstRest\V1\Rest\Doctorant\DoctorantCollection::class => [
'entity_identifier_name' => 'id',
'route_name' => 'first-rest.rest.doctrine.doctorant',
'is_collection' => true,
],
],
],
'zf-apigility' => [
'doctrine-connected' => [
\FirstRest\V1\Rest\Doctorant\DoctorantResource::class => [
'object_manager' => 'doctrine.entitymanager.orm_default',
'hydrator' => 'FirstRest\\V1\\Rest\\Doctorant\\DoctorantHydrator',
],
],
],
'doctrine-hydrator' => [
'FirstRest\\V1\\Rest\\Doctorant\\DoctorantHydrator' => [
'entity_class' => \FirstRest\V1\Entity\Db\Doctorant::class,
'object_manager' => 'doctrine.entitymanager.orm_default',
'by_value' => true,
'strategies' => [],
'use_generated_hydrator' => true,
],
],
'zf-content-validation' => [
'FirstRest\\V1\\Rest\\Doctorant\\Controller' => [
'input_filter' => 'FirstRest\\V1\\Rest\\Doctorant\\Validator',
],
],
'input_filter_specs' => [
'FirstRest\\V1\\Rest\\Doctorant\\Validator' => [
0 => [
'name' => 'civilite',
'required' => true,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 5,
],
],
],
],
1 => [
'name' => 'dateNaissance',
'required' => true,
'filters' => [],
'validators' => [],
],
2 => [
'name' => 'nationalite',
'required' => false,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [],
],
3 => [
'name' => 'email',
'required' => false,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 255,
],
],
],
],
4 => [
'name' => 'nomPatronymique',
'required' => true,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 60,
],
],
],
],
5 => [
'name' => 'nomUsuel',
'required' => true,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 60,
],
],
],
],
6 => [
'name' => 'prenom',
'required' => true,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 60,
],
],
],
],
7 => [
'name' => 'prenoms',
'required' => true,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 100,
],
],
],
],
8 => [
'name' => 'tel',
'required' => false,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 20,
],
],
],
],
9 => [
'name' => 'sourceCode',
'required' => false,
'filters' => [
0 => [
'name' => \Zend\Filter\StringTrim::class,
],
1 => [
'name' => \Zend\Filter\StripTags::class,
],
],
'validators' => [
0 => [
'name' => \Zend\Validator\StringLength::class,
'options' => [
'min' => 1,
'max' => 100,
],
],
],
],
10 => [
'name' => 'histoCreation',
'required' => true,
'filters' => [],
'validators' => [],
],
11 => [
'name' => 'histoDestruction',
'required' => false,
'filters' => [],
'validators' => [],
],
12 => [
'name' => 'histoModification',
'required' => true,
'filters' => [],
'validators' => [],
],
],
],
];
<?php
namespace FirstRest\V1\Entity\Db;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
/**
* Doctorant
*/
class Doctorant
{
/**
* @var integer
*/
protected $id;
/**
* @var string
*/
protected $civilite;
/**
* @var string
*/
protected $nationalite;
/**
* @var \DateTime
*/
protected $dateNaissance;
/**
* @var string
*/
protected $email;
/**
* @var string
*/
protected $nomPatronymique;
/**
* @var string
*/
protected $nomUsuel;
/**
* @var string
*/
protected $prenom;
/**
* @var string
*/
protected $prenoms;
/**
* @var string
*/
protected $sourceCode;
/**
* @var string
*/
protected $tel;
/**
* @var Collection
*/
private $complements;
protected $histoCreation;
protected $histoDestruction;
protected $histoModification;
/**
* Constructor
*/
public function __construct()
{
$this->complements = new ArrayCollection();
}
/**
* Set dateNaissance
*
* @param \DateTime $dateNaissance
*
* @return self
*/
public function setDateNaissance($dateNaissance)
{
$this->dateNaissance = $dateNaissance;
return $this;
}
/**
* Get dateNaissance
*
* @return \DateTime
*/
public function getDateNaissance()
{
return $this->dateNaissance;
}
/**
* @return string
*/
public function getNationalite()
{
return $this->nationalite;
}
/**
* @param string $nationalite
* @return Doctorant
*/
public function setNationalite($nationalite)
{
$this->nationalite = $nationalite;
return $this;
}
/**
* Set email
*
* @param string $email
*
* @return self
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Get email
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
/**
* Set nomPatronymique
*
* @param string $nomPatronymique
*
* @return self
*/
public function setNomPatronymique($nomPatronymique)
{
$this->nomPatronymique = $nomPatronymique;
return $this;
}
/**
* Get nomPatronymique
*
* @return string
*/
public function getNomPatronymique()
{
return $this->nomPatronymique;
}
/**
* Set nomUsuel
*
* @param string $nomUsuel
*
* @return self
*/
public function setNomUsuel($nomUsuel)
{
$this->nomUsuel = $nomUsuel;
return $this;
}
/**
* Get nomUsuel
*
* @return string
*/
public function getNomUsuel()
{
return $this->nomUsuel;
}
/**
* Set prenom
*
* @param string $prenom
*
* @return self
*/
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
/**
* Get prenom
*
* @param bool $tous
* @return string
*/
public function getPrenom($tous = false)
{
return $tous ? $this->prenoms : $this->prenom;
}
/**
* Get prenoms
*
* @return string
*/
public function getPrenoms()
{
return $this->prenoms;
}
/**
* Set prenoms
*
* @param string $prenoms
*
* @return self
*/
public function setPrenoms($prenoms)
{
$this->prenoms = $prenoms;
return $this;
}
/**
* Set sourceCode
*
* @param string $sourceCode
*
* @return self
*/
public function setSourceCode($sourceCode)
{
$this->sourceCode = $sourceCode;
return $this;
}
/**
* Get sourceCode
*
* @return string
*/
public function getSourceCode()
{
return $this->sourceCode;
}
/**
* Set tel
*
* @param string $tel
*
* @return self
*/
public function setTel($tel)
{
$this->tel = $tel;
return $this;
}
/**
* Get tel
*
* @return string
*/
public function getTel()
{
return $this->tel;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set civilite
*
* @param string $civilite
*
* @return self
*/
public function setCivilite($civilite)
{
$this->civilite = $civilite;
return $this;
}
/**
* Get civilite
*
* @return string
*/
public function getCivilite()
{
return $this->civilite;
}
/**
* Get civilite
*
* @return string
*/
public function getCiviliteToString()
{
return $this->getCivilite();
}
/**
* Get estUneFemme
*
* @return bool
*/
public function estUneFemme()
{
return 'Mme' === $this->getCivilite();
}
/**
* @return mixed
*/
public function getHistoCreation()
{
return $this->histoCreation;
}
/**
* @param mixed $histoCreation
*/
public function setHistoCreation($histoCreation)
{
$this->histoCreation = $histoCreation;
}
/**
* @return mixed
*/
public function getHistoDestruction()
{
return $this->histoDestruction;
}
/**
* @param mixed $histoDestruction
*/
public function setHistoDestruction($histoDestruction)
{
$this->histoDestruction = $histoDestruction;
}
/**
* @return mixed
*/
public function getHistoModification()
{
return $this->histoModification;
}
/**
* @param mixed $histoModification
*/
public function setHistoModification($histoModification)
{
$this->histoModification = $histoModification;
}
}
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="FirstRest\V1\Entity\Db\Doctorant" table="THESARD">
<id name="id" type="integer" column="ID">
<generator strategy="SEQUENCE"/>
</id>
<field name="civilite" type="string" column="CIVILITE" length="5" nullable="false"/>
<field name="dateNaissance" type="datetime" column="DATE_NAISSANCE" nullable="false"/>
<field name="nationalite" type="string" column="NATIONALITE" nullable="true"/>
<field name="email" type="string" column="EMAIL" length="255" nullable="true"/>
<field name="nomPatronymique" type="string" column="NOM_PATRONYMIQUE" length="60" nullable="false"/>
<field name="nomUsuel" type="string" column="NOM_USUEL" length="60" nullable="false"/>
<field name="prenom" type="string" column="PRENOM" length="60" nullable="false"/>
<field name="prenoms" type="string" column="PRENOMS" length="100" nullable="false"/>
<field name="tel" type="string" column="TEL" length="20" nullable="true"/>
<field name="sourceCode" type="string" column="SOURCE_CODE" length="100" nullable="true"/>
<field name="histoCreation" type="datetime" column="HISTO_CREATION" nullable="false"/>
<field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/>
<field name="histoModification" type="datetime" column="HISTO_MODIFICATION" nullable="false"/>
</entity>
</doctrine-mapping>
<?php
namespace FirstRest\V1\Rest\Doctorant;
use Zend\Paginator\Paginator;
class DoctorantCollection extends Paginator
{
}
<?php
namespace FirstRest\V1\Rest\Doctorant;
use ZF\Apigility\Doctrine\Server\Resource\DoctrineResource;
class DoctorantResource extends DoctrineResource
{
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment