Foros del Web » Programando para Internet » PHP »

No Warning with extra arguments

Estas en el tema de No Warning with extra arguments en el foro de PHP en Foros del Web. Buenas, quiero saber si existe alguna opcion para que tire un Warning o ERROR con este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original function foo ...
  #1 (permalink)  
Antiguo 28/10/2014, 17:06
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Pregunta No Warning with extra arguments

Buenas, quiero saber si existe alguna opcion para que tire un Warning o ERROR con este codigo

Código PHP:
Ver original
  1. function foo() { echo "hola"; }
  2. foo(); // sin Warning o ERROR como se acostumbra..
  3. foo("a"); // en otro lenguaje deberia tirar ERROR, pero bueno, PHP es PHP..

Sino existe algo para hacer esto, lo que me quedaria es volver a Reflection, cosa que no quiero. Habria alguna alternativa para Reflection?


Todo esto parte de MVC... si yo pongo
Cita:
localhost/controller/metodoSinParametros/argumento
la idea es que me salte un Exception por algun lado ya que metodoSinParametros no acepta argumentos..

Saludos y gracias de antemano!
  #2 (permalink)  
Antiguo 28/10/2014, 17:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No Warning with extra arguments

No existe nada para comprobar eso directamente así que tendrás que implementarlo por tu cuenta usando func_num_args() así:

Código PHP:
Ver original
  1. function foo() {
  2.   if (func_num_args() > 0) {
  3.     throw new Exception('Too many arguments!');
  4.   }
  5. }

Consulta el manual: http://php.net/manual/es/function.func-num-args.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/10/2014, 17:15
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: No Warning with extra arguments

claro pero la idea es hacerlo dinamicamente... tendria que ponerlo en cada funcion de cada site ese IF
  #4 (permalink)  
Antiguo 28/10/2014, 17:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No Warning with extra arguments

Pues entonces tendrás que usar Reflection, sólo era una alternativa.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/10/2014, 17:21
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: No Warning with extra arguments

buh...

recomendas Reflection? porque por ejemplo pareciera que hasta youtube lo utilizaria si es que no usa otro metodo
  #6 (permalink)  
Antiguo 28/10/2014, 17:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No Warning with extra arguments

Pues es que no existe ningún otro método para conocer los argumentos, y menos aún para inyectar comportamiento a dichos métodos.

Si lo deseas hacer de manera indirecta lo correcto sería usar Reflection, que por ejemplo en Javascript es muy simple (por decir algo):
Código Javascript:
Ver original
  1. function foo() {
  2. }
  3.  
  4. console.log(foo.length); // 0

Usar Reflection es la única forma (en PHP) que existe para implementar lo que buscas.

O bien, igual y hay otra mejor forma y no estoy ni enterado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 28/10/2014, 18:08
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: No Warning with extra arguments

:(

seguire buscando!

Gracias pateketrueke

Etiquetas: extra, warning
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 18:45.