Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Acceder a un (private, public, static...) de una clase desde otro archivo.

Estas en el tema de Acceder a un (private, public, static...) de una clase desde otro archivo. en el foro de PHP en Foros del Web. Hola gente del foro... una pregunta, alguien que me pueda ayudar <?php include 'origen_clases.php'; class Profesores extends Registro { public $nombre_profesor="manuela maria camacho marino"; private ...
  #1 (permalink)  
Antiguo 03/06/2015, 02:44
 
Fecha de Ingreso: junio-2015
Ubicación: JapoLand
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Acceder a un (private, public, static...) de una clase desde otro archivo.

Hola gente del foro... una pregunta, alguien que me pueda ayudar


<?php

include 'origen_clases.php';


class Profesores extends Registro
{
public $nombre_profesor="manuela maria camacho marino";
private $edad=45;
static $nacionalidad="gringa";
protected $carrera="es la inge";
const color_piel="negrita";

function imprimir_escuela()
{
$this->nombre_escuela; //atributo heredado del archivo "origen_clases.php"

}

function Nombre($variable)
{
echo $this->nombre_profesor;
echo "<br>";
}
function Edad()
{
$this->edad;
}
function Nacionalidad()
{
self::$nacionalidad;
}

function Carrera()
{
$this->carrera;
}
function Piel()
{
echo self::color_piel;
echo "<br>";
echo Profesores::color_piel;
echo "<br>";
}

}

$llamar_clase=new Profesores();
$llamar_clase->Nombre("Me gusta su panocha");
$llamar_clase->Piel();





?>


como ven, en este mismo archivo pues si puedo acceder a la variable con el $this o el self

pero cuando quiero llamar esa clase junto con su funcion en otro archivo me dice que no tengo permitido acceder por que es private, static .
<?php

class Registro
{

public $nombre_escuela="UAEM FCA";
private $conexion;
public $arreglo;
public $row;
public $numero_resultados;


public function conectarse()
{
$conexion=mysqli_connect("localhost", "root", "", "uaem") or die ("error de ocnexion");
$this->conexion=$conexion;
}

public function insertar($conexion, $var1, $var2, $var3, $var4, $var5, $var6)
{
mysqli_query($conexion,"INSERT INTO alumnos(Nombre, Apellidos, Fecha_Nacimiento, Direccion, Carrera, No_Cuenta) VALUES('$var1', '$var2', '$var3', '$var4', '$var5', '$var6')")
or die ("error de ocnsulta");
}
public function buscar($conexion,$Cuenta)
{
$arreglo=mysqli_query($conexion, "SELECT * FROM alumnos WHERE No_Cuenta=$Cuenta") or die ("error de consulta");
$this->arreglo=$arreglo;

$numero_resultados=mysqli_num_rows($arreglo);
$this->numero_resultados=$numero_resultados;
echo "Resultados encontrados:".$numero_resultados;

if($numero_resultados==0)
{
echo "<br> No se ecnontro ese numero de cuenta";
}
else
{




echo "<table border='1'>
<tr>
<td>NOMBRE</td>
<td>APELLIDOS</td>
<td>FECHA DE NACIMIENTO</td>
<td>DIRECCION</td>
<td>CARRERA</td>
<td>CUENTA</td>
</tr>";


while($row=mysqli_fetch_array($arreglo))
{

echo "<tr>
<td>$row[Nombre]</td>
<td>$row[Apellidos]</td>
<td>$row[Fecha_Nacimiento]</td>
<td>$row[Direccion]</td>
<td>$row[Carrera]</td>
<td>$row[No_Cuenta]</td>
</tr>";
}
echo "</table>";
$this->row=$row;

}
}

}


?>

por ejemplo en este segundo archivo, quiero usar la variable de $conexion , como private, pero al momento de compilar no me deja acceder.
POR QUE?
  #2 (permalink)  
Antiguo 03/06/2015, 02:58
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 10 años, 2 meses
Puntos: 14
Respuesta: Acceder a un (private, public, static...) de una clase desde otro archivo.

¿En qué línea te da el fallo? Una variable de tipo private sólo es accesible desde los métodos de la propia clase, no desde una instancia de ella. Por lo que sólo podrás usarla dentro de la clase "Registro"
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #3 (permalink)  
Antiguo 03/06/2015, 11:54
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Acceder a un (private, public, static...) de una clase desde otro archivo.

umm tu problema lo resuelves entendiendo conceptos y documentandote, verifica este link y entenderas porque no puedes acceder desde cualquier parte a una propiedad declarada como private
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: clase, fecha, mysql, private, public, registro, select, sql, static, variable
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:09.