PHP - Strict Standards: Non-static method

 
Vista:
sin imagen de perfil

Strict Standards: Non-static method

Publicado por Abner (3 intervenciones) el 26/01/2018 22:31:16
Hola amigos, veran tengo una duda y por eso escribo en este foro, estoy programando en php y PDO resulta que tengo este código
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function enlacesPaginasController(){
 
	if(isset( $_GET['action'])){
 
		$enlaces = $_GET['action'];
 
	}
	else{
 
		$enlaces = "index";
	}
 
	include Paginas::enlacesPaginasModel($enlaces);
 
}
esta función (método) está dentro de la clase mvcController, cuando lo subí al hos me da este aviso Strict Standards: Non-static method la pregunta es...Cómo lo soluciono?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de abzerox
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Strict Standards: Non-static method

Publicado por abzerox (157 intervenciones) el 27/01/2018 00:21:34
Hola, comprobaste que el método enlacesPaginaModel sea realmente estatico ?, es decir, que la firma del método sea:

1
public static function enlacesPaginasModel(...) {   // some code... }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Strict Standards: Non-static method

Publicado por Abner (3 intervenciones) el 27/01/2018 00:35:30
Hola amigo, era tan fácil como colocarle la palabra static, la pregunta que me surge ahora es... por que el navegador me da esa advertencia? quiero decir, mi sitio funciona y todo, pero estaba leyendo además que son malas prácticas de programar, de todos modos agradezco mucho tu contribución, agregue lo que me dijiste y ahora ya no me lanza la advertencia, antes ocultaba los mensajes de error en el host.

muchas gracias amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Strict Standards: Non-static method

Publicado por kip (877 intervenciones) el 27/01/2018 00:57:49
Hola Abner, lo que sucede es que PHP tiene una historia algo rara detrás de su implementacion del paradigma OOP, cuando en PHP 4 se inicio el soporte las cosas eran muy diferentes y podias llamar a un metodo con los '::' o con '->'(cuando era una instancia) y no existian las palabras reservadas static, private o public, mira este viejo manual de PHP4 http://www.nusphere.com/kb/phpmanual/language.oop.htm

Luego cuando se realizo una increible mejora en PHP5 para el soporte de una OOP mucho mas real, por temas de compatibilidad se dejaron estas cosas que en lugar de detener toda tu app o sistema(que seria catastrofico) te lanza una alerta, pero como dices es mejor apegarse a las buenas practicas !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
sin imagen de perfil

Strict Standards: Non-static method

Publicado por Abner (3 intervenciones) el 27/01/2018 20:30:32
hola Kip, lo que el manual indica es lo que en su momento aprendí, y hasta ahora yo seguía usando, pero con las mejoras de PHP pues obviamente quería entender el por qué de ese comportamiento, y en este foro me han dada mucha ayuda, agradezco mucho por tomarse el tiempo de ayudar a muchos que lo necesitamos y mencionar también a abzerox

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar