prettier / prettier/plugin-php

Breaks if comments precede an include statement in mixed HTML/PHP files

Abierto
#1,587 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug comments inline
Lenguaje dominante
PHP
Estrellas
1.9k
Forks
139
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

When running the plugin on a Wordpress template file with some commented lines, behaviour is not as expected.

In this example, the comment line (line 22 in the playground) // $feed_section_class = 'has-top-padding grey-bg'; somehow is duplicated and the closing ?> is inserted prematurely.

@prettier/plugin-php v0.15.2
Playground link

Input:

<?php

/*
Template Name: File
*/

get_header(); ?>

<?php
$home_url = home_url();
$theme_path = get_template_directory_uri();
?>

<main>
	<?php include locate_template('content-product-secondary-nav.php'); ?>

  <section>
    <h1>Title</h1>
    <p>Some content here</p>
  </section>

	<?php // $feed_section_class = 'has-top-padding grey-bg';
 // include( locate_template( 'content-brilliance-feeds.php' ) );
 include locate_template('content-sub-footer.php'); ?>
</main>

<?php get_template_part('content', 'brochure-popup'); ?>
<?php get_template_part('content', 'quote-popup'); ?>

<?php get_footer(); ?>

Output:

<?php

/*
Template Name: File
*/

get_header(); ?>

<?php
$home_url = home_url();
$theme_path = get_template_directory_uri();
?>

<main>
	<?php include locate_template('content-product-secondary-nav.php'); ?>

  <section>
    <h1>Title</h1>
    <p>Some content here</p>
  </section>

	<?php // $feed_section_class = 'has-top-padding grey-bg';
// $feed_section_class = 'has-top-padding grey-bg';
?>// include( locate_template( 'content-brilliance-feeds.php' ) );
 include locate_template('content-sub-footer.php'); ?>
</main>

<?php get_template_part('content', 'brochure-popup'); ?>
<?php get_template_part('content', 'quote-popup'); ?>

<?php get_footer(); ?>

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce la entrada en el playground de Prettier PHP enlazado y compárala con la salida indicada, centrándote en los comentarios anteriores a las sentencias include en plantillas HTML/PHP mixtas. Rastrea el punto de entrada del formateador para este caso del playground; se considera terminado cuando el comentario no se duplica, el delimitador de cierre de PHP no se inserta prematuramente y include sigue estando correctamente formateado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
php, wordpress
Área
tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.