Generar modelos a partir de bases de datos con webtools

Nota

En esta parte, tu proyecto ya está creado.
Si no tienes una base de datos mysql a mano, puedes descargarte ésta: messagerie.sql

Configuración

Compruebe la configuración de la base de datos con webtools en http://127.0.0.1:8090/Admin/:

Ir a la parte de models:

../../_images/models-part.png

Nota

El archivo de configuración se encuentra en app/config/config.php.

Cambiar la configuración de la base de datos para utilizar la base de datos messagerie:

  • Haga clic en el botón Edit config file.

  • Seleccione la parte database

../../_images/update-config-db.png
  • Introduzca messagerie en el campo dbName.

  • Haga clic en el botón Test para comprobar la conexión

  • Validar con el botón Save configuration.

../../_images/models-part-2.png

Generación

Para generar todos los modelos, haga clic en el botón (Re-)create all models.

../../_images/models-generated.png

Genere la caché de modelos pulsando el botón Re-init all models cache:

../../_images/cache-generated.png

Eso es todo.
Los modelos están generados y operativos. |br|Ahora puede ver los datos.

Nota

Es posible generar modelos automáticamente al crear un proyecto con la opción -m para modelos y -b para especificar la base de datos:

Ubiquity new quick-start -a  -m -b=messagerie

Checking

Diagrama de clases

Todavía en la parte models, haga clic en el paso models generation:

../../_images/step-models-generation.png

A continuación, haga clic en el botón Classes diagram:

../../_images/access-class-diagram.png

Puede ver el diagrama de clases, utilizando la API yUML

../../_images/classes-diagram.png

Modelos de meta-datas

Para ver los metadatos de un modelo creado:

Seleccione un modelo y active la pestaña Structure:

../../_images/structure-tab.png

También puede ver el diagrama parcial de clases:

../../_images/settings-class-diagram.png

Validación de modelos

La tercera pestaña ofrece información sobre la validación de objetos:

../../_images/validation-info.png

Nota

Las reglas de validación se generan automáticamente con las clases. |br|Se definen mediante anotaciones @validator en cada miembro de una clase y se almacenan en caché.

El botón Validate instances sirve para comprobar la validez de las instancias:

../../_images/validation-results.png

Nota

Es normal que por defecto todas las instancias de la base de datos no comprueben todas las reglas de validación.

Clases generadas

Las clases generadas se encuentran en la carpeta app/models, si no se ha modificado la configuración de mvcNS.models.

Nota

Si quiere saber más sobre:

  • object/relational normas de asignación, consulte la ORM part

  • consulta y persistencia de datos, véase DAO part

La clase Settings:

app/models/Settings.php
 1namespace models;
 2class Settings{
 3
 4   #[Id]
 5   #[Column(name: 'id', nullable: false, dbType: 'int(11)')]
 6   #[Validator('id', constraints: ['autoinc'=>true])]
 7   private $id;
 8
 9   #[Column(name: 'name', nullable: true, dbType: 'varchar(45)')]
10   #[Validator('length', constraints: ['max'=>45])]
11   private $name;
12
13   #[OneToMany(mappedBy: 'settings', className: 'models\\Organizationsettings')]
14   private $organizationsettingss;
15}

Importante

Cualquier modificación en las clases (código o anotaciones) requiere que se tenga en cuenta el reinicio de la caché.

Ubiquity init-cache -t=models