viernes, 26 de mayo de 2017

Buenas Practicas

Al empezar a programar en PHP es necesario aprender conceptos y prácticas que dan mayor calidad, funcionalidad y solides a nuestras aplicaciones. Una vez que conocemos como usar el código es importante instruirse en como darle vida al mismo.
En el articulo Mas de 30 mejores prácticas en PHP para principiantes de Glen Stansberry nos ilustra con recomendaciones que debe tomar en cuenta todo principiante.
Algunas de ellas son:
  • Conoce el manual. Sin duda una de las mejores herramientas para programar en PHP ya que es muy completo, concreto y lleno de recomendaciones.
  • Usa un IDE. Considero importante aprender a programar en un editor de texto. Pero al empezar a trabajar ya en forma vas a necesitar un IDE que te de mayor potencia a tu trabajo. Empezar a probarlos y encontrar uno que se ajuste a tu estilo es fundamental.
  • Aprende la técnica “No te repitas a ti mismo“. Evita redundacia, copiar y pegar código y otras malas prácticas.
  • Usa capas para diferenciar funcionalidad, de datos de presentación
  • Usa siempre <?php ?>. Recuerdo que el que existan atajos no significa que sea bueno o debas utilizarlos.
  • Comenta tu código y lo mas importante aprende a comentar
  • Nunca confíes en tus usuarios y protege tu código de inyección SQL
  • Pregunta y aprende a preguntar. Por ejemplo en el Foro de PHP

Constantes

Constantes ¶

Tabla de contenidos ¶

Una constante es un identificador (nombre) para un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecucción del script (a excepción de las constantes mágicas, que en realidad no son constantes). Por defecto, una constante distingue mayúsculas y minúsculas. Por convención, los identificadores de constantes siempre se declaran en mayúsculas.
El nombre de una constante sigue las mismas reglas que cualquier otra etiqueta de PHP. Un nombre de constante válido empieza por una letra o guion bajo, seguido por cualquier número de letras, números o guiones bajos. Usando una expresión regular, se representaría de la siguiente manera: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Sugerencia
Ejemplo #1 Nombres de constantes correctos e incorrectos
<?php
// Nombres de constantes correctosdefine("FOO",     "something");define("FOO2",    "something else");define("FOO_BAR""something more");
// Nombres de constantes incorrectosdefine("2FOO",    "something");
// Esto es válido, pero debe evitarse:
// PHP podría cualquier día proporcionar una constante mágica
// que rompiera el script
define("__FOO__""something");
?>
NotaPara nuestros propósitos, una letra está entre los carácteres a-z, A-Z, y los caracteres ASCII del 127 hasta el 255 (0x7f-0xff).
Igual que las superglobals, el acceso a una constante es global. Se puede acceder a constantes desde cualquier sitio del script sin importar desde donde. Para más información en el acceso, lea el manual en la sección acceso a variables.
link : http://php.net/manual/es/language.constants.php

Arreglos

Arrays ¶

Un array en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo se optimiza para varios usos diferentes; se puede emplear como un array, lista (vector), tabla asociativa (tabla hash - una implementación de un mapa), diccionario, colección, pila, cola, y posiblemente más. Ya que los valores de un array pueden ser otros arrays, también son posibles árboles y arrays multidimensionales.
Una explicación sobre tales estructuras de datos está fuera del alcance de este manual, aunque se proporciona al menos un ejemplo de cada uno de ellos. Para más información, consulte la extensa literatura que existe sobre este amplio tema.

Sintaxis ¶

Especificación con array() ¶

Un array puede ser creado con el constructor del lenguaje array(). Éste toma cualquier número de parejas clave => valor como argumentos.
    array(
    clave  => valor,
    clave2 => valor2,
    clave3 => valor3,
    ...
    )
La coma después del último elemento del array es opcional, pudiéndose omitir. Esto normalmente se hace para arrays de una única línea, es decir, es preferible array(1, 2) que array(1, 2, ). Por otra parte, para arrays multilínea, la coma final se usa frecuentemente, ya que permite una adición más sencilla de nuevos elementos al final.
A partir de PHP 5.4 también se puede usar la sintaxis de array corta, la cual reemplaza array() con [].
Ejemplo #1 Un array simple
<?php
$array 
= array(
    
"foo" => "bar",
    
"bar" => "foo",
);
// a partir de PHP 5.4$array = [
    
"foo" => "bar",
    
"bar" => "foo",
];
?>
La clave puede ser un integer o un string. El valor puede ser de cualquier tipo.
Además, se darán los siguientes amoldamientos de clave:
  • Un strings que contenga un integer válido será amoldado al tipo integer. P.ej. la clave "8" en realidad será almacenada como 8. Por otro lado "08" no será convertido, ya que no es un número integer decimal válido.
  • Un floats también será amoldado a integer, lo que significa que la parte fraccionaria se elimina. P.ej., la clave 8.7 en realidad será almacenada como 8.
  • Un booleano son amoldados a integers también, es decir, la clave true en realidad será almacenada como 1 y la clave false como 0.
  • Un null será amoldado a un string vacío, es decir, la clave null en realidad será almacenada como "".
  • Los arrays y los objectno pueden utilizarse como claves. Si se hace, dará lugar a una advertencia: Illegal offset type.
Si varios elementos en la declaración del array usan la misma clave, sólo se utilizará la última, siendo los demás son sobrescritos.
Ejemplo #2 Ejemplo de amoldamiento de tipo y sobrescritura
<?php
$array 
= array(
    
1    => "a",
    
"1"  => "b",
    
1.5  => "c",
    
true => "d",
);
var_dump($array);?>
El resultado del ejemplo sería:
array(1) {
  [1]=>
  string(1) "d"
}
Como todas las claves en el ejemplo anterior se convierten en 1, los valores serán sobrescritos en cada nuevo elemento, por lo que el último valor asignado "d" es el único que queda.
Los arrays de PHP pueden contener claves integer y string al mismo tiempo ya que PHP no distingue entre arrays indexados y asociativos.

 link :  http://php.net/manual/es/language.types.array.php

Operadores de incremento /decremento


Operadores de incremento/decremento ¶

PHP soporta operadores estilo C de pre- y post-incremento y decremento.
NotaLos operadores de incremento/decremento solamente afectan a números y strings. Los arrays, objects y resources no se ven afectados. Decrementar valores NULL tampoco tiene efecto, pero incrementarlos entonces resulta en 1.
Operadores de incremento/decremento
EjemploNombreEfecto
++$aPre-incrementoIncrementa $a en uno, y luego retorna $a.
$a++Post-incrementoRetorna $a, y luego incrementa $a en uno.
--$aPre-decrementoDecrementa $a en uno, luego retorna $a.
$a--Post-decrementoRetorna $a, luego decrementa $a en uno.
Aquí hay un script simple de ejemplo:
<?phpecho "<h3>Postincremento</h3>";$a 5;
echo 
"Debe ser 5: " $a++ . "<br />\n";
echo 
"Debe ser 6: " $a "<br />\n";

echo 
"<h3>Preincremento</h3>";$a 5;
echo 
"Debe ser 6: " . ++$a "<br />\n";
echo 
"Debe ser 6: " $a "<br />\n";

echo 
"<h3>Postdecremento</h3>";$a 5;
echo 
"Debe ser 5: " $a-- . "<br />\n";
echo 
"Debe ser 4: " $a "<br />\n";

echo 
"<h3>Predecremento</h3>";$a 5;
echo 
"Debe ser 4: " . --$a "<br />\n";
echo 
"Debe ser 4: " $a "<br />\n";?>
PHP sigue la convención de Perl cuando trabaja con operaciones aritméticas sobre variables de caracteres y no la de C. Por ejemplo, en PHP y Perl $a = 'Z'; $a++; convierte $a en 'AA', mientras que en C a = 'Z'; a++; convierte a en '['(el valor ASCII de 'Z' es 90, el valor ASCII de '[' es 91). Nótese que las variables de caracteres pueden ser incrementadas pero no decrementadas y aun así sólo caracteres y dígitos de ASCII puro (a-z, A-Z y 0-9) están soportados. Incrementar o decrementar otras variables de caracteres no tiene efecto, el string original no se modifica.
Ejemplo #1 Operaciones aritméticas sobre variables de caracteres
<?phpecho '== Letras ==' PHP_EOL;$s 'W';
for (
$n=0$n<6$n++) {
    echo ++
$s PHP_EOL;
}
// Los caracteres de dígitos tienen un comportamiento diferenteecho '== Dígitos ==' PHP_EOL;$d 'A8';
for (
$n=0$n<6$n++) {
    echo ++
$d PHP_EOL;
}
$d 'A08';
for (
$n=0$n<6$n++) {
    echo ++
$d PHP_EOL;
}
?>
El resultado del ejemplo sería:
== Letras ==
X
Y
Z
AA
AB
AC
== Dígitos ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14


 http://php.net/manual/es/language.operators.increment.php

miércoles, 24 de mayo de 2017

Como encontrar elementos en un arreglo


Ejemplo para contar los elementos de un array con PHP count()


En este primer ejemplo voy a contar el número de elementos que hay en un array con PHP count():
En el código superior tenemos un array bidimensional con 2 escuderías de F1 y sus pilotos.
  • Usando esta función en modo no recursivo saco por pantalla el número de elementos que hay en el array (saca los 2 arrays que hay en el array).
  • Utilizando el modo recursivo saco el número total de elementos que hay en el array bidimensional.

 link : http://www.anerbarrena.com/php-count-4633/

miércoles, 3 de mayo de 2017

Glosario php

operadores de aritmetica 
adicion (+) suma 
subtraccion (-) resta
multiplicacion (*)
division (/)
porcentaje (%)

operadores de comparacion 
igual (==)
identico (===)
diferente (! = o < >)
no identicos (! = =)
menor que (<)
mayor que (>)
meno o igual que (< =)
mayor o igual que (> =)
  
operadores de logica 
y (&& o and)
o ( || o or)