www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

No puedo entender para qué son las Entities en programación orientada a objetos en PHP, Yii?

fsheden 2018-11-08 11:58:06

Todos дорбого la hora del día, soy un novato, el estudio de la olp
aprendí a trabajar con repositorios, servicios, хелперами..
y muy a menudo en los ejemplos de código que me encuentro con esta entidad como Entities, pero no puedo entender para que es necesaria?

allí por lo general presentan ya de antemano los datos conocidos que crear el objeto, y luego tiró de estos datos, геттерами o cambian su сеттерами..
pero yo todo lo puedo y sin Entity hacer ... me ayudan a comprender, explique por favor, yo tengo la responsabilidad de contar que es un bus importante, sin la cual, más allá de la programación no se puede, pero no puedo entender para qué ))

Total answers: 3

thyratr0n 2018-11-08 18:24:18

Existen diferentes enfoques para comprender el significado de estas cosas.
Entities se utiliza más a menudo en el contexto de la DDD-enfoque. Allí, es decir, que el objeto puede cambiar su estado (figura puede cambiar el color, el vaso se puede rellenar y td). Sea contrario a Entities partidarios de lo que se conoce como ValueObject, que sólo se utilizan para leer y cambiar su estado no pueden.
Unos y otros, se utilizan en la lógica de negocio de la aplicación y se generan o almacenamiento (storage) o servicios (en función del enfoque seleccionado).

En el contexto de Yii el concepto de entidad no se aplica. porque allí estructural de la unidad de negocios de la lógica actúan las instancias de ActiveRecord más a menudo (el framework que ofrece), o, a veces, los herederos de la Model.

Lo importante es que la esencia no es obligatoria, debe conservar la as is, es decir, tener una clara proyección en la base de datos, porque la esencia puede ser una instancia de patrón Composite - todo depende de almacén/servicio que este caso será "CRUD'e".

fsheden 2018-11-09 11:20:44

y puede que todavía hay un наглядний buen ejemplo del uso de Entities con comentarios y general de la problemática de la поставленой los objetivos para los cuales fue escrito el ejemplo ?)

simplemente hasta que no volvería a ver cómo funciona en el modo de combate - es difícil de entender todo en el nivel abstracto :)


mashletov 2018-11-09 11:26:39

fsheden, buscar en гитхабе / google por Yii + DDD.


sidni 2018-11-08 18:07:39

Bueno, si es muy áspero y primitivo de responder en Yii2: Entities sustituyen a los Modelos ActiveRecord.
En que surgió el eterno холивар, ¿por qué Yii2 es el marco para los principiantes, código del trabajo, la implementación de ActiveRecord es en Yii2 era muy grueso"

mashletov 2018-11-08 18:19:41

Usted eloquent no visto significa )


sidni 2018-11-08 18:28:16

Vi ))) creo que se hace más delgada))))


402d 2018-11-08 12:20:20

Ahora me закидают тапками.
Pero para mí es simplemente un simulacro de clase

/**
 * Class Entity_stock
 * @property $id int(11) NOT NULL,
 * @property $distribution_point int(11) NOT NULL COMMENT 'торговая точка',
 * @property $name varchar(255) NOT NULL COMMENT 'наименование',
.....
**/
class Entity_stock{}

Torpemente hago la descarga de муськи la estructura de la tabla.
Que esto le da - finalización de código, no es necesario recordar cómo se llama cada campo

El modelo ha devuelto el objeto de
class Stock_model {
  /**
   * @return Entity_stock
   **/
  public get_by(){
     return обычный вызов класса актив рекорд возвращающий stdClass
  }
}

y YDE ahora sabe qué campo en el objeto hay.

La verdadera conversión a un objeto de una clase especificada creo innecesario оверхедом en sus proyectos.

allí por lo general presentan ya de antemano los datos conocidos que crear el objeto, y luego tiró de estos datos, геттерами o cambian su сеттерами..

De nuevo, mi opinión sobre su uso no coincide con los fans. Para la web falla no es necesario. El exceso de
transparencias. Activo setter, que comprueba el valor de la admisibilidad de aquí no es necesario. Pero en un extraño
el monasterio con sus estatutos, no van. Utilizan la doctrina, escribimos debajo de ella. Todos los гетеры/сетеры metemos
ya que se utilizan correctamente.

Todavía es un concepto de Interfaz
así que aquí no puede declarar una variable, sólo un método público.
En este caso, гетеры con сетерами se convierten en la única forma de .

fsheden 2018-11-08 12:23:00

ya que estas propiedades se puede inscribir el mismo éxito en модельке de la tabla, y tendrá el mismo efecto :)


402d 2018-11-08 12:31:10

bueno, a veces модельки pueden ser activos, y no es una envoltura de encima de la tabla.
En general, el mismo resultado puede devolver
diferentes modelos.
y sí, el anuncio de la entidad se puede hacer en la clase del modelo, pero el más desordenado.

en въюшках se puede hacer así

<?php 
/** @var Entity_stock $row **/
foreach($list as $row{
?>

y aquí ya no es importante como contralor recogía esta lista

En general, para mí, tan cómodo de escribir el código. No es necesario recordar todos los campos de las tablas.
para escribir deseado falta un par de botones y de autocompletar.
No hay errores tontos por el lapsus.
Y he aquí provocar инстансу real de la clase - no quiero.
Tengo entonces sólo los diseñadores de la generación de la página вызовутся 10 mil veces.
El principal modo de selección de la mejor precios de los proveedores . Pero así como el número y la marca
escriben como en la valla, sí, es necesario tener en cuenta las opciones de sustitución de análogos de muy
muchas transformaciones va en el controlador de.


hortuk 2018-11-08 15:53:51

402d lo menos, para empezar a aprender de la norma de escribir, y luego ya pensar qué hacer con el resto, en mi humilde opinión.
Y hay entity, en el que se proyecta la entrada en la base de datos en el objeto, o bien no se utiliza en absoluto. Y su ejemplo es similar a la programación procedimental, con una especie de emulación de peticiones, y no en el de la olp, de los objetos que sólo algún tipo de desechos inútiles.

fsheden Es simplemente un patrón, que es elegido por los desarrolladores del framework para la presentación de los datos y la estructura de la base de datos orientada a objetos de estilo, y en este caso, además de la presentación permitirán cómodamente y recibir datos, describir la relación entre los objetos, validar los datos. Nada mágico en este no, este enfoque en la aplicación de la.


402d 2018-11-08 15:59:29

hortuk, yo mismo dijo de inmediato que закидаете тапками.
Sólo por norma no me conviene, y lo más sabroso de el Entity en realidad una descripción de la naturaleza .
Así que por qué no utilizarla, al menos фиктивно.
Lo que en ella aún накрутили de arriba no anula el principal destino.


hortuk 2018-11-08 16:10:35

402d, la principal finalidad de apenas embargo, en la proyección de la base en el orientado a objetos tipo. Como usted, en su ejemplo, describir la relación entre los objetos, de nuevo hello para la opción de añadir? Y luego, en diferentes lugares seremos cada vez más a través de foreach recoger todos un montón?

La solución que ofrece en mi opinión mala, además de todo aún, y obtenemos básicamente por la mezcla de diferentes paradigmas de desarrollo.


402d 2018-11-08 16:21:21

Pero lo que ilustra la esencia misma de acuerdo ? Y el uso de entidades es posible incluso
en el código sin los marcos de muestra ?

Y aquí hay otra cosa en ella накручено en ella sin pensar como un calco de otros lenguajes de programación.
La doctrina, en mi opinión, en general mal. Ya que rompe разаботчика de la base de datos. No es mucho
proyectos en los que desea migrar de mysql en el pg, oracle . Y una envoltura impide
aplicar mecanismos de dbms específico. Como resultado de las consultas no son óptimas.


Xenywest 2018-11-09 14:22:06

402d, tapa. Es el típico tóxico programador. Ya aquí se disculparon mil veces, y el hombre докапывается y subestima usted autoestima


Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.