{"id":231729,"date":"2023-01-07T11:23:00","date_gmt":"2023-01-07T08:23:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231729"},"modified":"2023-01-07T11:23:45","modified_gmt":"2023-01-07T08:23:45","slug":"depurando-wordpress-con-ray-parte-1","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/depurando-wordpress-con-ray-parte-1\/","title":{"rendered":"Depurando WordPress con Ray, Parte 1"},"content":{"rendered":"\n<p><strong>TL;DR:<\/strong> Esta publicaci\u00f3n brinda una descripci\u00f3n general de alto nivel de qu\u00e9 tipo de aplicaci\u00f3n es <a href=\"https:\/\/myray.app\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Ray<\/a> y c\u00f3mo configurarla para su uso en WordPress.<\/p>\n<hr \/>\n<p>Durante el tiempo que he estado involucrado con el desarrollo de WordPress, he visto constantemente a los desarrolladores, incluido yo mismo, usar constantemente <code>[print_r](https:\/\/www.php.net\/manual\/en\/function.print-r.php)<\/code>y <code>[var_dump](https:\/\/www.php.net\/manual\/en\/function.var-dump.php)<\/code>cada vez que necesitan ver lo que sucede dentro de su c\u00f3digo.<\/p>\n<p>Y esto est\u00e1 bien para estructuras de datos m\u00e1s peque\u00f1as, como miradas a objetos, matrices, etc. Luego, en el otro extremo del espectro de depuraci\u00f3n, si necesita recorrer el c\u00f3digo para ver qu\u00e9 argumentos se pasan a una funci\u00f3n determinada desde d\u00f3nde y con qu\u00e9 valor, usar algo como <a href=\"https:\/\/wordpress.mediadoma.com\/es\/instalacion-de-xdebug-parte-1-el-modulo-xdebug\/\" title=\"Xdebug\">Xdebug<\/a> es incre\u00edblemente \u00fatil.<\/p>\n<p>Hasta hace poco, no cre\u00eda que hubiera t\u00e9rmino medio. Pero luego encontr\u00e9 a Ray y lo he estado usando desde entonces.<\/p>\n<h2>Depurando WordPress con Ray, Parte 1<\/h2>\n<h3>\u00bfQu\u00e9 es Rayo?<\/h3>\n<p>Antes de hablar sobre la depuraci\u00f3n de WordPress con Ray, vale la pena entender qu\u00e9 es Ray y qu\u00e9 no es.<\/p>\n<p>El primero es que no es algo que sea exclusivamente de WordPress, por lo que si se top\u00f3 con esta publicaci\u00f3n como alguien m\u00e1s en la comunidad PHP m\u00e1s amplia, es algo que todav\u00eda est\u00e1 en proceso de verificar.<\/p>\n<p>Dicho esto, supongamos que usted es un desarrollador basado en WordPress y est\u00e1 buscando aprender m\u00e1s sobre de qu\u00e9 se trata Ray.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dbfceb3ea.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dbfceb3ea.png\" alt=\"Depurando WordPress con Ray, Parte 1\"><\/a><\/p>\n<p>En primer lugar, aunque proporciona un ejemplo elegante de c\u00f3mo se ve su c\u00f3digo cuando se descarga en una pantalla, ofrece mucho m\u00e1s.<\/p>\n<p>Tenga en cuenta que cuando usa Ray, necesitar\u00e1 algunas herramientas adicionales, que cubrir\u00e9 un poco m\u00e1s en un momento, pero si desea continuar volcando informaci\u00f3n en un formato similar a <code>var_dump<\/code>Ray admite eso. Simplemente hace que se vea mejor. \ud83d\ude42<\/p>\n<p>En segundo lugar, cuando invoca a Ray desde su c\u00f3digo, se asegurar\u00e1 de que sepa de d\u00f3nde proviene la llamada. De esta manera, sabr\u00e1 exactamente qu\u00e9 archivo y qu\u00e9 l\u00ednea est\u00e1 buscando. Esto es \u00fatil especialmente cuando tiene varias llamadas.<\/p>\n<p>En tercer lugar, puede pausar la ejecuci\u00f3n de su c\u00f3digo como lo hace cuando usa un depurador real. Esto significa que una vez que llega a cierto punto en su c\u00f3digo (y esto es \u00fatil si est\u00e1 alcanzando una <code>switch<\/code>condici\u00f3n o una <code>if<\/code>condici\u00f3n o si est\u00e1 usando, digamos, una f\u00e1brica en programaci\u00f3n orientada a objetos y quiere saber qu\u00e9 instancia de se ha creado una instancia de un objeto), entonces puede detener la ejecuci\u00f3n y tener una mejor idea de lo que est\u00e1 pasando con su proyecto.<\/p>\n<p>Finalmente, puede organizar los tipos de salida en varios colores. Esto significa que si accede a una determinada rama en el c\u00f3digo y no desea acceder a esa rama, puede categorizarla como roja. Del mismo modo, puedes hacer lo mismo con verde, naranja, morado y m\u00e1s. Realmente depende de usted y de lo que pretende lograr al observar sus datos.<\/p>\n<h2>Usando Ray en WordPres<\/h2>\n<p>Si <a href=\"https:\/\/spatie.be\/docs\/ray\/v1\/installation-in-your-project\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">lee los documentos<\/a> para instalar Ray en WordPress, puede parecer un poco intimidante (especialmente dependiendo de su experiencia con la CLI, con Git y con complementos imprescindibles).<\/p>\n<p>Lo bueno es que no tiene por qu\u00e9 ser as\u00ed. En su lugar, puede obtener el complemento Ray de WordPress del repositorio de complementos (ya sea desde <a href=\"https:\/\/wordpress.org\/plugins\/spatie-ray\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">el sitio<\/a> o desde WordPress, seg\u00fan sus permisos).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc022fcee.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc022fcee.png\" alt=\"Depurando WordPress con Ray, Parte 1\"><\/a><\/p>\n<p>Una vez que se haya instalado el complemento, deber\u00eda poder comenzar a volcar informaci\u00f3n en Ray de inmediato.<\/p>\n<h3>Usando Git y Composer<\/h3>\n<p>Si opta por usar Git y Composer, aseg\u00farese de que esas dos herramientas est\u00e9n instaladas en su sistema, luego haga lo siguiente.<\/p>\n<p>Primero, clone el repositorio en su <code>mu-plugins<\/code>directorio emitiendo el siguiente comando:<\/p>\n<p>ps<code>git clone git@github.com:spatie\/wordpress-ray<\/code><\/p>\n<p>Luego, navegue a ese directorio en su terminal y ejecute:<\/p>\n<p><code>$ composer install<\/code><\/p>\n<p>Una vez que ese proceso haya terminado, abra <code>wp-config.php<\/code>y agregue las siguientes dos l\u00edneas:<\/p>\n<p><code>require_once ABSPATH. 'wp-content\/mu-plugins\/wordpress-ray\/wp-ray.php';<\/code><\/p>\n<p><code>define( 'WP_ENVIRONMENT_TYPE', 'local' );<\/code><\/p>\n<p>Despu\u00e9s de eso, puede comenzar a usar la <code>ray<\/code>funci\u00f3n en su c\u00f3digo. Por ejemplo, tengo la siguiente l\u00ednea de c\u00f3digo ejecut\u00e1ndose en una plantilla que estoy usando como demostraci\u00f3n para este art\u00edculo:<\/p>\n<p><code>&lt;?php ray( wp_get_current_user() ); ?&gt;<\/code><\/p>\n<p>Luego, siempre que se cargue esta p\u00e1gina, la aplicaci\u00f3n Ray mostrar\u00e1 lo siguiente:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc060b535.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc060b535.png\" alt=\"Depurando WordPress con Ray, Parte 1\"><\/a><\/p>\n<p>Obviamente, esta es informaci\u00f3n rica, informaci\u00f3n que a\u00fan se puede leer por otros medios, pero de una manera mucho m\u00e1s elegante.<\/p>\n<h2>para la parte 2<\/h2>\n<p>En la Parte 2 de la serie, cubrir\u00e9 c\u00f3mo comenzar a depurar c\u00f3digo usando Ray y por qu\u00e9 disfruto usar la aplicaci\u00f3n como un t\u00e9rmino medio entre algo <code>[var_dump](https:\/\/www.php.net\/manual\/es\/function.var-dump.php)<\/code>como <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Xdebug<\/a>.<\/p>\n<p>Adem\u00e1s, revisar\u00e9 algunas de las caracter\u00edsticas espec\u00edficas de WordPress de Ray para que pueda ver c\u00f3mo esto es m\u00e1s que &quot;una forma bonita de volcar variables&quot;.<\/p>\n<p>En \u00faltima instancia, creo que Xdebug todav\u00eda es algo que deber\u00eda usarse, pero Ray es un t\u00e9rmino medio mucho m\u00e1s agradable que proporciona una gran cantidad de funciones de depuraci\u00f3n s\u00f3lidas sin necesidad de la asistencia completa de un verdadero depurador.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta es una introducci\u00f3n de alto nivel sobre c\u00f3mo comenzar a depurar WordPress con Ray.<\/p>\n","protected":false},"author":1,"featured_media":158305,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,747,831,800,779,840,861],"tags":[1172],"class_list":["post-231729","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-fuente-abierta","category-guia-para-principiantes","category-php-2","category-software-de-codigo-abierto","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=231729"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231729\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/158305"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}