Después de algunos reciente Eclipse actualizaciones de áreas de trabajo y los cambios que he encontrado algunos problemas con la validación de mi código PHP en el PDT. Después de volver a agregar todas las bibliotecas externas para mis proyectos, todos de clase externos se puede resolver, pero para PHP, base de las clases como «DateTime» o «Excepción» tengo un error/anotación «DateTime no puede ser resuelto a un tipo». PHP Validación de la Versión se establece en 7.1, pero incluso valores inferiores a crear el error.

¿Cómo puedo solucionar este validación problema?

InformationsquelleAutor NextThursday | 2017-08-21

6 Comentarios

  1. 10

    Hay muchas posibles situaciones aquí; el mío era bastante viejo proyecto de tener una fractura de buildpath de configuración. Sin embargo el uso de la interfaz gráfica de usuario, no he podido solucionarlo.

    Agregar la siguiente línea a la .buildpath archivo en la carpeta del proyecto, mientras que el eclipse fue cerrado y después de reiniciar eclipse soluciona el problema:

    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

    Sin embargo, además si el código de los usos de los espacios de nombres, uno necesita usar \DateTime en lugar de DateTime, o bien, agregar un uso ‘DateTime’ en la parte superior;

    (Solución encontrada después de cavar más profundo en los comentarios de otros problemas utilizando Eclipse PDT no proponer todas las funciones de php y https://bugs.eclipse.org/bugs/show_bug.cgi?id=502184)

    • Por desgracia, esto no soluciona mi problema que tiene el mismo aspecto. Acabo de hacer una nueva instalación de Eclipse Oxygen2 a través de la Garra instalador de 64 bits en un equipo con Windows 8.1 cuadro con JRE 8u161, tengo el mismo problema, pero la entrada en .buildpath ya está ahí?
    • Gracias, a mí me funciona. He añadido un archivo .buildpath con esta línea y me limpio el proyecto en Eclipse.
  2. 4

    Si usted no tiene un archivo llamado .buildpath en la carpeta raíz de tu proyecto, que acaba de crear.

    El contenido del archivo debe ser algo como:

    <?xml version="1.0" encoding="UTF-8"?>
    <buildpath>
        <buildpathentry kind="src" path=""/>
        <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    </buildpath>

    Que va a asignar todas las carpetas como «carpetas de origen».

    Que funciona bien en Eclipse de Oxígeno.3a Liberación (4.7.3 a)

    • Esta solución funcionó para mí
  3. 2

    La mía es un poco diferente pero es worths mencionar aquí, para los novatos como yo.
    Acabo de importar proyecto con Import > Projects from Folder or Archive. Es sólo una carpeta ni más ni menos.
    Usted tiene que hacer clic en la carpeta importada > Configure > Convert to PHP Project ...
    El Error en Exception se ha ido.

  4. 1

    Hace poco me encontré en una situación similar con un proyecto cuyo código está en un servidor de red y el servidor se fue hacia abajo. Cuando fue restaurado la monta había cambiado por lo que algunos de mis librerías externas no se pudo encontrar. Esta es la forma en que me fijo es:

    En mi proyecto de propiedades->php->rutas de fuente->incluir la ruta de acceso a las bibliotecas de la ficha he añadido las rutas de acceso al código externo. Entonces corrí proyecto de Construir en mi proyecto, seguido por Actualizar. Las advertencias se fue.

  5. 0

    @NextThursday menciona usando el ámbito global, el uso de ‘\’ antes del nombre de la clase. Esto es importante sólo si el código ya está dentro del ámbito de un determinado espacio de nombres.

  6. 0

    Tuve un problema donde pueden vender dependencias (de vendor carpeta) se reconoce un nuevo proyecto. E. g. si yo tuviera en el código:

    use \Psr\Log\LoggerAwareInterface

    Va a ser subrayado en rojo con una nota que «la importación … no puede ser resuelto«, y fuera de las importaciones de estas clases tenían «no puede ser resuelto a un tipo» con ellos.

    Sin embargo, yo había .buildpath en el lugar, pero si se mira de cerca se observe el problema:

    <?xml version="1.0" encoding="UTF-8"?>
    <buildpath>
        <buildpathentry kind="src" path="examples"/>
        <buildpathentry kind="src" path="src"/>
        <buildpathentry kind="src" path="tests"/>
        <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    </buildpath>

    Que es correcto, no hay ninguna entrada para vendor carpeta. La adición de entrada faltante:

        <buildpathentry kind="src" path="tests"/>
    +   <buildpathentry kind="src" path="vendor"/>
        <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

    Y, a continuación, la limpieza y la construcción del proyecto se ha solucionado el problema de inmediato.

Dejar respuesta

Please enter your comment!
Please enter your name here