{"id":10569,"date":"2017-08-18T17:29:30","date_gmt":"2017-08-18T11:59:30","guid":{"rendered":"https:\/\/www.carmatec.com\/?p=10569"},"modified":"2022-09-28T05:37:44","modified_gmt":"2022-09-28T05:37:44","slug":"preparar-el-sitio-web-para-actualizar-php-7","status":"publish","type":"post","link":"https:\/\/www.carmatec.com\/es\/blog\/prepare-website-upgrading-php-7\/","title":{"rendered":"\u00bfC\u00f3mo preparar su sitio web antes de actualizar a PHP 7?"},"content":{"rendered":"<p>La versi\u00f3n PHP 7 se centra principalmente en eliminar la funcionalidad obsoleta en sus versiones anteriores y mejorar la coherencia del lenguaje.<\/p>\n<p><strong>En el momento del lanzamiento de cualquier nueva versi\u00f3n:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>algunas extensiones pueden eliminarse<\/li>\n<li>algunas extensiones o funcionalidades pueden quedar obsoletas<\/li>\n<li>algunas otras funcionalidades pueden modificarse<\/li>\n<\/ul>\n<p>El t\u00e9rmino &quot;obsoleto&quot; aqu\u00ed implica que a los programadores se les ofrece una mejor alternativa de una extensi\u00f3n o funci\u00f3n en particular para que se desaconseje su uso y, en futuras versiones, esta funci\u00f3n o extensi\u00f3n se pueda eliminar por completo.<br \/>\nEsto requiere el uso del documento migratorio al momento de <a href=\"https:\/\/www.carmatec.com\/es\/aprender-tecnologia\/preparar-el-sitio-web-para-actualizar-php-7\/\">actualizando a una versi\u00f3n m\u00e1s nueva<\/a>. Este documento puede cubrir lo siguiente:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>Nuevas caracter\u00edsticas y funciones<\/li>\n<li>Caracter\u00edsticas y funciones obsoletas<\/li>\n<li>Caracter\u00edsticas y funciones modificadas.<\/li>\n<li>Cambios incompatibles con versiones anteriores<\/li>\n<li>Nuevas constantes globales<\/li>\n<li>Nuevas clases e interfaces<\/li>\n<li>Cambios en los m\u00f3dulos SAPI<\/li>\n<li>Extensiones eliminadas y SAPI<\/li>\n<li>Otros cambios<\/li>\n<\/ul>\n<p>Estos son los pasos que podemos seguir mientras actualizamos a PHP 7 desde su versi\u00f3n anterior:<br \/>\nLo primero que hay que hacer es eliminar el se de las extensiones eliminadas. El <a href=\"https:\/\/www.carmatec.com\/es\/aprender-tecnologia\/considere-migrar-php-5-a-php-7-2017\/\">Migraci\u00f3n PHP<\/a> El documento puede ofrecer bastantes alternativas para estas extensiones eliminadas.<\/p>\n<p><strong>Al momento de presentar PHP 7, las siguientes son las extensiones que se han eliminado:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>mssql<\/li>\n<li>MySQL<\/li>\n<li>ereg<\/li>\n<li>sybase_ct<\/li>\n<\/ol>\n<p>En segundo lugar, del documento de migraci\u00f3n tenemos la informaci\u00f3n requerida sobre la cual se han modificado todas las funciones. A la hora de introducir una nueva versi\u00f3n tambi\u00e9n se pueden introducir algunos cambios como por ejemplo:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>cambio en el tipo de devoluci\u00f3n<\/li>\n<li>eliminaci\u00f3n de algunos de los par\u00e1metros<\/li>\n<\/ul>\n<p>Por lo tanto, debemos verificar si alguna de estas funciones modificadas est\u00e1 en uso en nuestro sitio web PHP, debemos consultar el documento de migraci\u00f3n para conocerlas y realizar los cambios necesarios en consecuencia.<\/p>\n<p><strong>En el caso de PHP 7, algunas de las funciones modificadas son las siguientes:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>Las funciones mktime() y gmmktime() ya no aceptan el par\u00e1metro is_dst.<\/li>\n<li>Las funciones substr() e iconv_substr() devuelven ahora una cadena vac\u00eda, donde la cadena equivale a caracteres iniciales largos.<\/li>\n<\/ul>\n<p>Lo tercero que se debe hacer es intentar eliminar el uso de funciones y extensiones obsoletas, ya que eventualmente se eliminar\u00e1n en futuras versiones.<\/p>\n<p><strong>En el caso de PHP 7, estas son algunas de las caracter\u00edsticas que est\u00e1n en desuso:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>Constructores de estilo PHP 4: para crear constructores, PHP 4 utiliz\u00f3 los mismos m\u00e9todos que la clase en la que se definieron, lo cual es una caracter\u00edstica obsoleta y se eliminar\u00e1 en el futuro. Entonces, estos nombres de m\u00e9todos ahora deben ser reemplazados por __construct()<\/li>\n<li>Las llamadas est\u00e1ticas a m\u00e9todos no est\u00e1ticos tambi\u00e9n han quedado obsoletas y se eliminar\u00e1n en futuras versiones.<\/li>\n<li>La opci\u00f3n salt para la funci\u00f3n password_hash() ha quedado obsoleta ya que la funci\u00f3n puede generar un salt criptogr\u00e1ficamente seguro en caso de que el desarrollador no proporcione el salt.<\/li>\n<\/ol>\n<p>Lo siguiente, es decir, lo cuarto que hay que hacer, es el tratamiento de los cambios incompatibles con versiones anteriores. Al momento de introducir la nueva versi\u00f3n, se debe consultar el documento de migraci\u00f3n para detectar los &quot;cambios incompatibles con versiones anteriores&quot;.<\/p>\n<p><strong>Estos son algunos de los cambios incompatibles con versiones anteriores:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>foreach ya no cambia el puntero de la matriz interna<\/li>\n<li>global ahora acepta solo variables simples<\/li>\n<li>Las variables variables ya no se pueden utilizar con la palabra clave global.<\/li>\n<li>Las cadenas hexadecimales ya no se consideran num\u00e9ricas<br \/>\nPor ejemplo:<br \/>\n&lt;?php<br \/>\nvar_dump(is_numeric(\u201c0x123\u201d));<br \/>\n?&gt; El resultado del ejemplo mencionado anteriormente en PHP 7 es:bool(false)<\/li>\n<li>Cambios en la divisi\u00f3n por cero<br \/>\nAnteriormente, cuando se usaba 0 como divisor para los operadores de divisi\u00f3n(\/) o m\u00f3dulo(%), se emit\u00eda E_WARNING y se devolv\u00eda false. Ahora ha cambiado al operador de divisi\u00f3n que devuelve un flotante como +INF, -INF o NAN. El operador de m\u00f3dulo E_WARNING se elimin\u00f3 y generar\u00e1 una excepci\u00f3n DivisionByZeroError.<\/li>\n<\/ul>\n<p>Nosotros como uno de los l\u00edderes <a href=\"https:\/\/www.carmatec.com\/es\/empresa-de-desarrollo-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">empresa de desarrollo PHP<\/a> tiene m\u00e1s de una d\u00e9cada de experiencia en la ejecuci\u00f3n de proyectos de desarrollo web PHP para su clientela global que opera en diversas industrias. Empleamos las herramientas y t\u00e9cnicas m\u00e1s innovadoras para encontrar las soluciones m\u00e1s eficientes para sus problemas comerciales o puede consultar nuestro &#039;<a href=\"https:\/\/www.carmatec.com\/es\/contratar-desarrolladores\/contratar-desarrollador-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">Contratar desarrollador PHP<\/a>&#039;servicio en el que puede evaluar las habilidades t\u00e9cnicas de nuestros desarrolladores, el enfoque de su proyecto y su trabajo anterior para elegir entre el grupo de talentos m\u00e1s experimentado de la industria.<\/p>","protected":false},"excerpt":{"rendered":"<p>The PHP 7 release is mainly focused on removing functionality deprecated in its previous versions and, enhancing the consistency in the language. At the time of any new version release: some extensions can get removed some extensions or functionalities can get deprecated some other functionalities can get altered The term \u2018Deprecation\u2019 here, implies that the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":29477,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,19],"tags":[],"class_list":["post-10569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-php-development"],"_links":{"self":[{"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/posts\/10569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/comments?post=10569"}],"version-history":[{"count":0,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/posts\/10569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/media\/29477"}],"wp:attachment":[{"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/media?parent=10569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/categories?post=10569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carmatec.com\/es\/wp-json\/wp\/v2\/tags?post=10569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}