Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

duda con interfaces en php

Estas en el tema de duda con interfaces en php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. tengo una consulta curiosa cuando uno implementa una interface en php lo hace de la sigueinte manera cls_persona.php <?php interface Ipersona{ public function metodo1($algo); } ...
  #1 (permalink)  
Antiguo 12/02/2009, 17:39
 
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 2
Información duda con interfaces en php

tengo una consulta curiosa
cuando uno implementa una interface en php lo hace de la sigueinte manera
cls_persona.php
<?php
interface Ipersona{
public function metodo1($algo);
}
class persona implements Ipersona{
public function metodo1($algo){
echo $algo;
}
}
hasta hay todo bien entiendo para que sirve y todo, la duda que yo tengo es por que no se puede implementar una interface fuera del archivo o mejor dicho fuera de la clase, ejemplo

Ipersona.php
-----------------
<?php
interface Ipersona{
public function metodo1($algo);
}
?>
------------------
cls_persona.php
--------------------
<?php
require('Ipersona.php');
class persona implements Ipersona{
public function metodo1($algo){
echo $algo;
}
}
?>
--------------------
cuando realizo este ejemplo me sale como error
Interface 'Ipersona' not found in C:\.......\cls_persona.php on line 2 que es este caso es la linea donde realizo el implements class persona implements Ipersona{

si alguien puede resolver mi duda se lo agradeceria
  #2 (permalink)  
Antiguo 12/02/2009, 18:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: duda con interfaces en php

Claro que se puede implementar, asegurate que el archivo lpersona.php este en el mismo directorio o en el include path ya que es por eso que te marca el error.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:58.