¿Cuál es el mejor marco en PHP para desarrollar el sistema ERP?

Su pregunta y los detalles de la pregunta cubren dos contextos completamente diferentes.

Para responder a su pregunta, no existe lo mejor. Es una pregunta subjetiva que dará como resultado respuestas basadas en las opiniones de las personas.

Con respecto a su preocupación por los bloqueos y los alias de la tabla, con Yii, no estoy seguro de cómo está escribiendo su código para realizar los bloqueos de la tabla. Si necesita obtener el alias de una tabla, simplemente puede usar:

$alias = $this->getTableAlias(false, false);

Al no usar el valor devuelto por getTableAlias ​​() , Yii automáticamente usará t como el nombre de alias de la tabla, causando conflictos y ambigüedad. Este es un problema común que enfrentan algunos desarrolladores al definir un valor predeterminado de Alcance () para las tablas que contienen los mismos nombres de campo / columna.

Si está utilizando Active Record, puede hacer lo siguiente:

clase MyModel extiende ActiveRecord {

función pública beforeSave () {
Yii :: app () -> db-> createCommand (“LOCK TABLE` {$ this-> tableName} `WRITE;”) -> execute ();
return parent :: beforeSave ();
}

función pública afterSave () {
Yii :: app () -> db-> createCommand (‘UNLOCK TABLES;’) -> execute ();
parent :: beforeSave ();
}

}

En otros casos, su consulta puede necesitar incluir tanto el nombre de la tabla como el alias como en este ejemplo:

$ alias = $ this-> getTableAlias ​​(falso, falso);

Yii :: app () -> db-> createCommand (“LOCK TABLES` {$ this-> tableName} `WRITE,` {$ this-> tableName} `AS` {$ alias} `WRITE;”) -> execute ();

Supongo que estás intentando bloquear una tabla y sus tablas relacionadas. Si es así, puede extender los métodos beforeSave () y afterSave () en los modelos que deben bloquearse. Si no siempre necesita que las tablas relacionadas se bloqueen en los eventos de guardar antes y después, lo que puede hacer es bloquear las tablas relacionadas al llamar a beforeSave () desde la primera tabla que está bloqueada. Por ejemplo, usando una combinación de los ejemplos segundo y tercero anteriores:

clase MyModel extiende ActiveRecord {

función pública beforeSave () {
$ alias = $ this-> getTableAlias ​​(falso, falso);
$ table_name = $ this-> tableName;

Yii :: app () -> db-> createCommand (“LOCK TABLES` {$ table_name} `WRITE,` {$ table_name} `AS` {$ alias} `WRITE;”) -> execute ();

$ relaciones = array_keys ($ this-> relations ());
foreach ($ relaciones como $ relación) {
$ this -> $ relacion-> setTableAlias ​​($ relacion);
$ table_name = $ this -> $ relacion-> tableName;

Yii :: app () -> db-> createCommand (“LOCK TABLES` {$ table_name} `WRITE,` {$ table_name} `AS` {$ relacion} `WRITE;”) -> execute ();
}

return parent :: beforeSave ();
}

función pública afterSave () {
Yii :: app () -> db-> createCommand (‘UNLOCK TABLES;’) -> execute ();
parent :: beforeSave ();
}

}

Ahora, sin comprender completamente el problema que enfrenta, lo que ha intentado y su enfoque para realizar los bloqueos de la mesa, es difícil proporcionar una solución sólida, pero espero que esto lo guíe en la dirección correcta.

DESCARGO DE RESPONSABILIDAD: Todavía no probé este código. Puede contener errores de sintaxis o puede requerir un poco de limpieza.

EDITAR: Actualicé mi último ejemplo de código basado en la información encontrada aquí:

http://www.yiiframework.com/foru…

Parece bastante tonto que el alias de las tablas relacionadas no se establezca automáticamente cuando se genera la consulta, como sucede con los ámbitos de Yii.

Cinco de los mejores marcos PHP para aplicaciones ERP

1) CodeIgniter

El marco robusto viene con un conjunto de características avanzadas que facilitan a los programadores la creación rápida de aplicaciones ERP. Además de facilitar la carga rápida de páginas, CodeIgniter permite a los desarrolladores aprovechar documentación brillante y asistencia de una gran comunidad. Los requisitos estructurales no estrictos, al mismo tiempo, hacen que el marco PHP sea rentable. Puede aprender y usar CodeIgniter sin dedicar más tiempo y esfuerzo. Además, los foros de la comunidad en línea y los servicios de chat lo ayudarán a aclarar sus dudas y preguntas.

2) Zend

Como marco desarrollado por los creadores de PHP, Zend se usa ampliamente para construir ERP y aplicaciones comerciales. También permite a los usuarios acceder a un montón de complementos y funciones avanzadas, junto con descargas gratuitas opcionales. A diferencia de otros marcos PHP, Zend le permite acceder a un servidor personalizado. Puede usar el servidor personalizado para verificar el aspecto, la sensación y el rendimiento de la aplicación en múltiples plataformas, sin configuraciones adicionales. Sin embargo, Zend requerirá que invierta algunos fondos inicialmente. Además, debe incurrir en gastos adicionales para comprar complementos de Zend. Si está listo para gastar algo de dinero, Zend lo ayudará a crear aplicaciones ERP sólidas y personalizadas rápidamente.

3) Yii

Yii se considera uno de los marcos más efectivos para desarrollar aplicaciones sociales y comerciales. Le permite optimizar el rendimiento de la aplicación ERP haciendo uso de funciones como inyección SQL, validación de entrada y varias tareas de seguridad. El marco puede ahorrarle más tiempo al generar el código base automáticamente. Además, Yii, en la actualidad, es el framework PHP de carga en ayunas en el mercado. Sin embargo, debe invertir tanto tiempo como esfuerzos para conocer los entresijos de Yii. La falta de libros y tutoriales requerirá que aproveche la asistencia de otros desarrolladores de PHP.

4) FuelPHP

FuelPHP viene con características que se encuentran en los principales marcos PHP. Pero combina estas características en un enfoque que es fresco y distinto. También tiene la opción de consultar la documentación activa y actualizada de Fuel, además de obtener ayuda de una gran comunidad. El marco PHP se actualiza aún más con frecuencia para admitir nuevas características. Al igual que CodeIgniter, FuelPHP también se puede aprender sin dedicar más tiempo y esfuerzo. Pero encontrará que el código es menos compacto en comparación con CodeIgniter. El marco le permite optimizar el rendimiento de la aplicación ERP mediante la implementación de sus ideas creativas e innovadoras.

5) Symfony

En comparación con otros marcos MVC, Symfony es mucho más personalizable. También tiene la opción de mejorar el rendimiento de la aplicación ERP mediante el uso de diferentes componentes de software que ya están siendo utilizados por el proyecto. Muchos desarrolladores también consideraron Symfony como el marco completo para construir aplicaciones ERP y empresariales. Tiene la opción de determinar el nivel de seguridad de la aplicación simplemente configurando las dos carpetas de escritura requeridas por Symfony.

Espero que esto te ayude a seguir desarrollando el sistema ERP. Como no trabajé con ninguno de ellos. Trabajé con el marco llamado MyBB. Fue bueno para desarrollar un sitio web de foro. Elija su marco sabiamente, lo ayudará a construir su producto en poco tiempo con menos esfuerzo.

No hay una respuesta específica como tal. Todos los marcos son solo capas superiores en php. La mejor manera es escribir tu propio código.
Puedes probar laravel. Si desea mejores efectos, use Angularjs + Lumen como API RESTFUL.

Hola,

Soy fanático de Zend Framework de por vida, por lo tanto, Zend Framework con Doctrine será mi voto. Pero, el propio Evan Coury respondió en un blog que decía: “Deberías elegir un marco de acuerdo con la aceptación de tu equipo. Si su equipo se siente cómodo con yii2 o Symfony o CakePHP, vaya con eso. Porque al final lo estarán construyendo “.

Pero, si tiene alguien en su equipo que pueda invertir o enseñar a Zend Framework a su equipo, eso sería un punto a favor. Entonces, he puesto mi opinión frente a usted y lo que ve Evan Coury, que no es una réplica 100%, sino lo que quiso decir.

Espero haber respondido tu pregunta. Cuídate.

Estaba trabajando con yii, pero tiene sus límites. Ahora soy triyin con laravel y tiene muchas características que permiten desarrollar como rails o django, incluso incluye características para mejorar la velocidad de desarrollo y caché en las aplicaciones.

Laravel es el mejor ya que es tan robusto, seguro y proporciona un desarrollo más rápido.

Zend Framework + Doctrine como ORM

Zend Framework será bueno para los sistemas ERP ya que es seguro. Además, la aplicación no recibirá mucha carga, ya que solo se cargarán los complementos necesarios.