En php generalmente dividimos los código en varios archivos, y las variables que declares en un archivo ya no está disponible en otro archivo, por ende no funciona el autocompletado en netbeans.
Hare un pequeño ejemplo sencillo para poder ilustrar el problema y dar una posible solución (no creo que sea la única).
Tendremos 3 archivos: principal.php, archivo que se ejecuta; Operador.php, archivo en el cual se define una clase; y parte.php; una pequeña porción de código.
Archivo Operador.php
Archivo principal.php
Archivo otro.php
En este archivo no hay autocompletado, a pesar que ya tenemos la variable operador declara en el archivo principal.php.
Una posible solución es documentar la variable operador, y así tendremos autocompletado de todos los métodos disponibles de la clase, se documenta de la siguiente manera:
Entonces el archivo otro.php quedaría así:
Y taran funciona, ya tenemos autocompletado en NetBeans, este es solo un ejemplo para ilustrar, imagínese que tengan 100 archivos php y cada archivo mas o menos con 20 métodos.
Esto funciona para los diferentes frameworks php, por ejemplo al insertar una librería en CodeIgniter, haciendo esto ya tendrás autocompletado.
Hare un pequeño ejemplo sencillo para poder ilustrar el problema y dar una posible solución (no creo que sea la única).
Tendremos 3 archivos: principal.php, archivo que se ejecuta; Operador.php, archivo en el cual se define una clase; y parte.php; una pequeña porción de código.
Archivo Operador.php
<?php class Operador { private $_a; private $_b; public function __construct($a = 0, $b = 0) { $this->_a = $a; $this->_b = $b; } public function sumar() { return $this->_a + $this->_b; } public function restar() { return $this->_a - $this->_b; } }
Archivo principal.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ejemplo</title> </head> <body> <?php require_once './Operador.php'; $operador = new Operador(10, 8); ?> <h2>Operacion suma</h2> <p>La suma es: <?php echo $operador->sumar() ?> </p> <?php require_once './otro.php' ?> </body> </html>
Archivo otro.php
<h2>Operacion resta</h2> <p>La resta es: <?php echo $operador //aqui no hay autocompletado ?> </p>
En este archivo no hay autocompletado, a pesar que ya tenemos la variable operador declara en el archivo principal.php.
Una posible solución es documentar la variable operador, y así tendremos autocompletado de todos los métodos disponibles de la clase, se documenta de la siguiente manera:
<?php /* @var $variable Operador */ ?>
Entonces el archivo otro.php quedaría así:
<h2>Operacion resta</h2> <p>La resta es: <?php /* @var $operador Operador */ echo $operador->//ya tenemos autocompletado ?> </p>
Y taran funciona, ya tenemos autocompletado en NetBeans, este es solo un ejemplo para ilustrar, imagínese que tengan 100 archivos php y cada archivo mas o menos con 20 métodos.
Esto funciona para los diferentes frameworks php, por ejemplo al insertar una librería en CodeIgniter, haciendo esto ya tendrás autocompletado.
Comentarios
Publicar un comentario