Foros del Web » Programando para Internet » PHP »

no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación...

Estas en el tema de no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación... en el foro de PHP en Foros del Web. Hola, la prmer línea de PhpMyAdmin (5.0.2) es Código PHP: declare( strict_types = 1 );  y pues ... sí, está en PHP-declare , todo estaría ...
  #1 (permalink)  
Antiguo 29/08/2020, 18:11
SLD
 
Fecha de Ingreso: diciembre-2013
Mensajes: 121
Antigüedad: 10 años, 4 meses
Puntos: 6
no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación...

Hola,

la prmer línea de PhpMyAdmin (5.0.2) es
Código PHP:
declare(strict_types=1); 
y pues ...
sí, está en PHP-declare, todo estaría en PHP-manual, sin embargo alguna ampliación del tema vendría MUY bien, no entiendo NADA de ésa línea.


Gracias.

  #2 (permalink)  
Antiguo 30/08/2020, 10:25
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

Cita:
Iniciado por SLD Ver Mensaje
Hola,

la prmer línea de PhpMyAdmin (5.0.2) es
Código PHP:
declare(strict_types=1); 
y pues ...
sí, está en PHP-declare, todo estaría en PHP-manual, sin embargo alguna ampliación del tema vendría MUY bien, no entiendo NADA de ésa línea.


Gracias.

yendo a la documentacion, la verdad nunca la use, pero me parece interesante rescatar la traduccion de un comentario

Código traduccion:
Ver original
  1. Es sorprendente cuántas personas no entendieron el concepto aquí. Tenga en cuenta la redacción de la documentación.
  2.  Establece que el controlador de ticks se llama cada n ciclos de ejecución nativos. Eso significa instrucciones nativas,
  3. sin incluir las llamadas al sistema (supongo). Esto puede darle una muy buena idea si necesita optimizar una parte particular de su script,
  4. ya que puede medir con bastante eficacia cuántas instrucciones nativas hay en su código real.
  5.  
  6. Un buen generador de perfiles lo tomaría en cuenta y lo obligaría a usted, el desarrollador,
  7. a incluir llamadas al generador de perfiles cuando ingrese y salga de cada función. De esa manera,
  8. podrá controlar cuántos ciclos tomó cada función para completar. Independiente del tiempo.
  9.  
  10. Eso es extremadamente poderoso y no debe subestimarse. Una buena solución permitiría estadísticas agregadas,
  11. por lo que se contabilizaría el tiempo total en una función, incluidas las funciones llamadas internas.

si alguien puede aclarar mucho mas el tema explicado a detalle seria de mucha ayuda

este tipo de post son los que me gustan donde cada dia se aprende
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 30/08/2020, 10:47
SLD
 
Fecha de Ingreso: diciembre-2013
Mensajes: 121
Antigüedad: 10 años, 4 meses
Puntos: 6
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

Cita:
Iniciado por tuadmin Ver Mensaje
...si alguien puede aclarar mucho mas el tema explicado a detalle seria de mucha ayuda...
Parece que
Código:
declare(ticks = 1);
sin
Código:
register_tick_function
es inútil, y curiosamente, el código de PhpMyAdmin NO define una función con register_tick_function...

Luego, si PMA no lo utiliza,
que propósito tiene definir
Código:
declare(ticks = 1);
??

Adicionalmente,
parece que sirve + para DEPURAR que para otro propósito, así que es útil solo en un ambiente de PRUEBA/LOG, por que utilizar register_tick_function + declare(ticks = 1); haría el SCRIPT notoriamente + lento...

Gcias por la ayuda TuAdmin
  #4 (permalink)  
Antiguo 30/08/2020, 21:48
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

ambos se me fueron por la tangente, en los enlaces que deja @SLD aluden a ticks pero en la pregunta inicial el código expuesto dice strict_types

son dos cosas muy distintas, por otro lado hay que aclarar que la función declare, es una palabra reservada utilizada para declarar constantes, muy útil cuando necesitas que una variable solos e pueda declarar una vez y jamas sea modificada.
https://www.php.net/manual/es/language.constants.php

Por ultimo strict_types, se incorpora en PHP 7.0 por lo visto, y es implementado para que utilices tipado de datos cuando de datos de mysql se trata, una buena practica en programación y algo de lo que carecía PHP hasta hace no mucho, te dejo un enlace que habla del tema y quizás deje mas claro el panorama, yo no me he actualizado últimamente y domino mucho de este tema

http://schlueters.de/blog/archives/1...and-MySQL.html

Si lo que dice este articulo es cierto, no hará mas lento tu código, te hará mas eficiente a ti como programador.
  #5 (permalink)  
Antiguo 31/08/2020, 06:23
SLD
 
Fecha de Ingreso: diciembre-2013
Mensajes: 121
Antigüedad: 10 años, 4 meses
Puntos: 6
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

Gracias Arturo.

Cita:
Iniciado por ArturoGallegos Ver Mensaje
...la función declare, es una palabra reservada utilizada para declarar constantes, muy útil cuando necesitas que una variable solos e pueda declarar una vez y jamas sea modificada.
https://www.php.net/manual/es/language.constants.php
En ése enláce dícen que la CONSTANTE se establece utiliando define(N, V)... Esclaréceme por favor.

Cita:
Iniciado por ArturoGallegos Ver Mensaje
strict_types, se incorpora en PHP 7.0 por lo visto, y es implementado para que utilices tipado de datos cuando de datos de mysql se trata...
Por lo que leí en Tipificación estricta en PHP es para que PHP se comporte como lenguaje de ALTO tipado, (desde su início es un lenguaje de BAJO tipado).

Cita:
Iniciado por ArturoGallegos Ver Mensaje
...no hará mas lento tu código, te hará mas eficiente a ti como programador.
Gracias por corregirme Arturo, en efécto mezclé
Código:
declare(strict_types=1);
con
Código:
declare(ticks=1);
que es el que debe ír acompañado de
Código:
register_tick_function
y que implicaría + tiempo de CPU para cáda SCRIPT.

Debido a que desde la línea UNO de PMA me llevé una sorpresa, saltando de archivo en archivo y picando entre lineas de código, llegué al archivo
phpMyAdmin-5.0.2-all-languages\libraries\classes\Bookmark.php
en el cuál se define el método get():
Código PHP:
    public static function get(
        
DatabaseInterface $dbi,
        
string $user,
        
string $db,
        
$id,
        
string $id_field 'id',
        
bool $action_bookmark_all false,
        
bool $exact_user_match false
    
): ?self {
        
$cfgBookmark self::getParams($user);
        if (empty(
$cfgBookmark)) {
            return 
null;
        } 
pueden explicarme qué díce en la línea
Código:
): ?self {
???

Yo solo conózco ? + : en el operador ternario, pero aquí los utilizan al revés y además no entiendo la palabra reservada self jústo despues de un ?.


Felíz semana . . .
  #6 (permalink)  
Antiguo 31/08/2020, 09:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

Cuando usas strict_types debes especificar el valor que devuelve la función, pero habrá ocasiones en las que tengas que retornar NULL, tal vez porque hubo error o no hay datos para mostrar.

Código PHP:
Ver original
  1. // Necesariamente debe devolver el tipo de dato especificado
  2. miFuncion(): tipoDeDato {
  3.     if($error) {
  4.         // Generará error por no ser el tipo de dato adecuado
  5.         return NULL;
  6.     }
  7.     return $variable_o_instancia_con_tipo_de_dato;
  8. }
  9.  
  10. // Solo agregas el signo de interrogación
  11. miFuncion(): ?tipoDeDato {
  12.     if($error) {
  13.         // Esto no genera error
  14.         return NULL;
  15.     }
  16.     return $variable_o_instancia_con_tipo_de_dato;
  17. }


Ejemplo: https://www.php.net/manual/es/functi...hp#example-183
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 31/08/2020, 16:59
SLD
 
Fecha de Ingreso: diciembre-2013
Mensajes: 121
Antigüedad: 10 años, 4 meses
Puntos: 6
Respuesta: no entiendo NI SIQUIERA la PRIMER línea de PhpMyAdmin, alguna orientación.

Felicidades Triby, gracias por tu tiempo
Cita:
Iniciado por Triby Ver Mensaje
...habrá ocasiones en las que tengas que retornar NULL...
Ejemplo: https://www.php.net/manual/es/functi...hp#example-183
retorno anulable!

Etiquetas: alguna, phpmyadmin, primer
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 16:58.