SlideShare una empresa de Scribd logo
1 de 42
Salir
Antes de Comenzar... Salir Buenas practicas al escribir tus programas
Tips programación Salir
Tips programación Salir •  Formato para el código. •  Diseño. •  Controla tus versiones. •  Usa librerías externas.
Tips programación Salir Formato para el código •  Identado. •  Alinea bloques de código. •  Estandares  (variables, funciones, clases, métodos, archivos) . •  Comenta y Documenta.
Tips programación Salir “ Los buenos programadores saben qué escribir. Los mejores qué reescribir  (y reutilizar)”. Eric Raymond
Antes de Comenzar... Salir Introducción a la Programación en PHP
Características Salir •  PHP Hypertext Pre-Processor •  Interpretado •  Ejecutable del lado del servidor •  Orientado a programación Web •  Embebido en HTML •  Amplio soporte de BD:  Ingress, InterBase, DB2, Informix, mSQL, MySQL, ODBC, Oracle, PostgreSQL, Sybase •  Es LIBRE.
Funcionamiento PHP Salir
Sintaxis PHP Salir <? echo 'Hello world en PHP'; ?> <?php  echo 'Hello world en PHP';  ?>
Sintaxis PHP Salir <html> <body> <?php  if (date(&quot;H&quot;, date('U'))>18) {  ?>   Buenas noches. <?php } else { ?>   Buenos días. <?php }?> </body> </html>
Sintaxis PHP Salir <html> <body> <?php if (date(&quot;H&quot;, date('U'))>18) {  echo “Buenas noches.”; } else { echo “Buenos días.”; } ?> </body> </html>
Sintaxis PHP Salir /* Comentarios estilo C. * Pueden ser de varias líneas. */ // Comentarios estilo C++.  # Comentarios estilo Bash/Perl.
Variables Salir •  No pueden empezar con números ni caracteres especiales. •  Empiezan con $ $numero = 123; $nombre = “Ana Perez”; •  No es necesario declararlas antes de usarlas. •  Aunque no se les asigna tipo de datos, toma el tipo que contenga el valor que se les asigne.
Variables Salir $mi_variable = ’Inicializamos como una cadena de texto’; $mi_variable = 3; // Ahora es un entero. $mi_variable = 3.14 * $mi_variable; // Ahora float. $mi_variable = new MiClase(); // Ahora un objeto.
Casting de variables Salir PHP se encarga de realizar ciertas conversiones de tipo automáticamente: $mivar = 12; echo $mivar; En este ejemplo, PHP convierte el valor entero 12 a la cadena de texto “12” antes de pasárselo a la función echo. $mivar = ’3’; $mivar = 2 + $mivar; En este caso $mivar comienza almacenando la cadena “3”. Luego para realizar la suma, se convierte al entero 3, se realiza la suma y se asigna a $mivar el entero 5. También se puede forzar el casting: $mivar = (string)123; settype($mivar, &quot;double&quot;); // Cambia el tipo de dato.
Tipos de Dato Salir •  Integer •  Double •  String •  Boolean •  Array •  Object
Funciones para variables Salir •  gettype: devuelve el tipo de datos de una variable. •  settype: cambia el tipo de datos de una variable. •  isset: determina si una variable está definida. •  is_< tipodato >: determina si una variable es del tipo < tipodato >.
Funciones para variables Salir $edad=20; $nombre=”Maria”; print(gettype($edad).”<br>”); print(gettype($nombre).”<br>”); $peso=92.3; settype($peso, “integer”); echo $peso; echo “peso: “.isset($peso).”<br>a: ”.isset($a); if (is_integer($edad)) echo 'edad es de tipo Entero';
Constantes Salir •  Las constantes en PHP se crean mediante la función:  define(nombre, valor); <?php define(“INSTITUTO”, “171”); if (defined(“INSTITUTO”)) echo “Bienvenido al ”.INSTITUTO; Else echo “Defina el instituto”; ?>
Operadores Salir •  Aritméticos: = asignación + suma  - resta  * multiplic  / div % resto •  De comparación: == igual === idéntico != ó <> diferente > ó < ó >= ó <= •  Lógicos: && ó and  Y lógico ||  ó or  O lógico !  negación Xor  O exclusivo. •  De incremento/decremento ++$var  ó  $var++ -$var  ó  $var--
Operadores Salir •  Combinados: += suma y asigna -= resta y asigna *= multiplica y asigna /= divide y asigna %= calcula módulo y asigna .= cocatena y asigna
Salir if-else Sentencias de Control <?php $a = 3; $b = 2; if ($a>$b){ $mayor = $a; echo 'a es mayor que b'; }else{ $mayor = $b; echo 'b es mayor que a'; } ? >
Salir if-elseif Sentencias de Control <?php $a = 3; $b = 2; if ($a>$b){ $mayor = $a; echo 'a es mayor que b'; }elseif (($b>$a)){ $mayor = $b; echo 'b es mayor que a'; }else{ $mayor = $a; echo 'a y b son iguales'; } ? >
Salir Operador ternario Sentencias de Control <?php $a = 3; $b = 2; ($a==$b)?print “Iguales”:print “Distintos”; $mayor=($a>=$b)?$a:$b; ? >
Salir switch Sentencias de Control <?php  $a=3; switch($a) { case 1: print(&quot;opción uno&quot;); break; case 2: print(&quot;opción dos&quot;); break; case 3: print(&quot;opción tres&quot;); break; default: print(&quot;No hay opciones&quot;); } print(&quot;Valor de a: &quot; . $a.&quot;<br>&quot;); ?>
Salir for Ciclos // ejemplo 1 for ($i=0; $i<=10; $i++){ print $i; } // ejemplo 2 for ($i=1; ; $i++){  if ($i>10)  Break; print $i; } // ejemplo 3 for ($i=1; $i<10; print $i, $i++);
Salir while Ciclos // ejemplo 1 $n = 10; while ($n>0){  print (“valor de n: ”.$n.”<br>”); --$n; } // ejemplo 2 $n = 8; while (--$n) print (“valor de n: ”.$n.”<br>”); // ejemplo 3 $n = 12; do{ print (“valor de n: ”.$n.”<br>”); --$n; }while ($n>8);
Salir include Incluir archivos Permiten incluir archivos, funciones o partes de códigos. <?php  include ('nombre.php'); include (“archivo.php”); ?> * Las funciones y variables definidos antes de la llamadas son accesibles para el código en el fichero. De igual forma todos los elementos definidos en el fichero estarán disponibles para el script que hace el llamado. * Si el fichero a incluir no existe se genera un warning o un aviso,continuando con la ejecución por la siguiente instrucción  * Puede utilizarse en combinación con otras estructuras de control: for ($i;$i<4;$i++) {include(“fichero”.$i.”.php”);}
Salir require Incluir archivos Permiten incluir todo el contenido. <?php  require (“archivo.php”); ?> * Su comportamiento es equivalente a la directiva #include del Leng. C * No puede ser utilizado con estructuras de control * En caso que el archivo referenciado por require no existe, se genera un error fatal y no permite seguir ejecutando el script. require_once() o include_once(): Carga y evalúa cada script una vez como máximo, evitando así los errores producidos por redefinición de funciones o la resignación de valores a variables.
Funciones Salir Función con parámetro por valor: function nombre ($par) Función con parámetro por referencia: function nombre (&$par) Función con parámetro con valor por defecto: function nombre ($par = valor) Nota:Para retornar el valor de una función se usa return. PHP permite recursividad en sus funciones. Variables del tipo static(static $var) siempre retorna el último valor que tuvo esa variable. Variables del tipo global (global $var) Obtener número de parámetros enviados/contenido de parámetros: func_nums_args() / func_get_arg($i) / arg_list[$i]
Salir Funciones function no_arg(){ // Sin parámetros echo &quot;Hola mundo&quot;,&quot;<br>&quot;;  } echo &quot;No se ha llamado a la función NO_ARG todavía&quot;,&quot;<br>&quot;; no_arg(); echo &quot;La función NO__ARG ha sido llamada!&quot;,&quot;<br>&quot;; function contar($number=6){ //parámetros por defecto for(;$number<10;$number++){ echo $number,&quot;<br>&quot;; } } echo &quot;No se ha llamado la función CONTAR todavía <br>&quot;; contar(8); contar(); echo &quot;!La función CONTAR ha sido llamada<br>&quot;;
Salir Funciones function cuadrado($num){ // parámetro por valor, pasa una copia $num = $num +1; return $num*$num; } $numero = 7; print($numero.&quot;<br>&quot;); print(cuadrado($numero).&quot;<br>&quot;); print($numero.&quot;<br>&quot;); //parámetro por referencia (& antes del argumento del parámetro) function anadir(&$string) { $string .= ' y algo más.'; } $str = 'Esto es una cadena, '; anadir($str); echo $str.&quot;<br>&quot;; // 'Esto es una cadena, y algo más.'
Salir Funciones //Alcance de las Variables $numero = 9; function otro_numero(){ $numero=6; } print(&quot;El número es :&quot;.$numero.&quot;<br>&quot;);otro_numero(); print(&quot;El valor de la variable&quot;.$numero.&quot; no se ve alterada <br>&quot;); $numero = 9; function otro_numero2(){ global $numero; $numero=6; } print(&quot;El numero es :&quot;.$numero.&quot;<br>&quot;);otro_numero2(); print(&quot;El valor de la variable&quot;.$numero.&quot; si se ve alterada <br>&quot;); //Array $GLOBALS $numero = 9; function otroNum(){ $GLOBALS[&quot;numero&quot;]=6 ; // cuando se usa el array las variables no van precedidas $ } otroNum(); print(&quot;Número con GLOBALS:&quot;.$numero.&quot;<br>&quot;);
Salir Funciones function no_arg(){ // Sin parámetros echo &quot;Hola mundo Cristiano&quot;,&quot;<br>&quot;;  } echo &quot;No se ha llamado a la función NO_ARG todavía&quot;,&quot;<br>&quot;; no_arg(); echo &quot;La función NO__ARG ha sido llamada!&quot;,&quot;<br>&quot;; function contar($number=6){ //parámetros por defecto for(;$number<10;$number++){ echo $number,&quot;<br>&quot;; } } echo &quot;No se ha llamado la función CONTAR todavía <br>&quot;; contar(8); contar(); echo &quot;!La función CONTAR ha sido llamada<br>&quot;; Ejemplos: static.php longitud_parametros.php factorial.php suma.php area.php
Cadenas de caracteres Salir strlen() Devuelve la longitud en caracteres de un string. int strlen(string $cadena) <?php $cadena = 'abcdef'; echo strlen($cadena); // 6 $cadena = ' ab cd '; echo strlen($cadena); // 7 ?> strpos() Localiza la primera aparición de un caracter o  subcadena dentro de la cadena. int strpos(string $cadena, string $caracter) <?php echo strpos(&quot;Hello world!&quot;,&quot;world&quot;); // Devuelve 6 echo strpos(&quot;Hello world!&quot;,&quot;abc&quot;);  // Devuelve FALSE ?>
Cadenas de caracteres Salir strcmp() Compara dos cadenas de texto en modo binario. Es sensible a mayúsculas y minúsculas. int strcmp ( string $cadena1, string $cadena2 ) Devuelve: Integer < 0 si $cadena1 < $cadena2 Integer > 0 si $cadena1 > $cadena2 Cero ( 0 )  si $cadena1 = $cadena2 <?php   echo strcmp(&quot;xyz&quot;,&quot;abc&quot;);  // Devuelve 1   echo strcmp(&quot; hola&quot;,&quot;abc&quot;); // Devuelve -1 echo strcmp(&quot;abc&quot;,&quot;abc&quot;);  // Devuelve 0 ?>
Cadenas de caracteres Salir substr() Devuelve parte de una cadena. string substr(string $cadena, int $comienzo [, int $longitud]) <?php   echo substr(&quot;abcdef&quot;, 1);  // Devuelve “bcdef”   echo substr(&quot;abcdef&quot;, 1, 3);  // Devuelve “bcd” echo substr(&quot;abcdef&quot;, -1);  // Devuelve “f” echo substr(&quot;abcdef&quot;, -3, 1);  // Devuelve “d” ?>
Cadenas de caracteres Salir str_replace() Sustituye todas las apariciones de una cadena en otra. string str_replace ( string $cad_buscada, string $cad_sustituta, string $cad_original [,int $veces] ) <?php echo str_replace(&quot;o&quot;,“”,“Hola Mundo”); // Devuelve “Hla Mund” echo str_replace(&quot;Mundo&quot;,“171”,“Hola Mundo”);// Devuelve “Hola 171” ?>
Arreglos Salir Se definen usando el constructor array $personas = array (&quot;Job&quot;, &quot;Ana&quot;, &quot;Maria&quot;); Asigando valores a cada elemento: $MyArray[] = 'Hola'; $MyArray[] = 'Mundo Cristiano'; Tipos de arreglos: Arreglos enumerados o indexados numéricamente Arreglos asociativos: índices cadenas de caracteres $ciudades = array(&quot;en&quot; => &quot;English&quot;, &quot;es&quot; => &quot;Español&quot;, &quot;fr&quot;=>&quot;Frances&quot;);
Arreglos Salir Funciones relacionadas: count(vector) o sizeof(vector): Devuelve número de elementos. next, reset, prev, currenty end: Se desplaza por el vector. current -Devuelve el valor del elemento que indica el puntero pos - realiza la misma función que current reset - mueve el puntero al primer elemento de la tabla end - mueve el puntero al último elemento de la tabla next - mueve el puntero al elemento siguiente prev - mueve el puntero al elemento anterior array_splice(vector, pos ini, tamaño):Elimina la posición de un elemento
Salir

Más contenido relacionado

La actualidad más candente (20)

PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
ArrayList Java
ArrayList JavaArrayList Java
ArrayList Java
 
Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1
 
Lesson 5 php operators
Lesson 5   php operatorsLesson 5   php operators
Lesson 5 php operators
 
PHP variables
PHP  variablesPHP  variables
PHP variables
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
Codigo limpo: Nomes Significativos Cap 2
Codigo limpo:  Nomes Significativos Cap 2Codigo limpo:  Nomes Significativos Cap 2
Codigo limpo: Nomes Significativos Cap 2
 
A Deeper look into Javascript Basics
A Deeper look into Javascript BasicsA Deeper look into Javascript Basics
A Deeper look into Javascript Basics
 
Php by shivitomer
Php by shivitomerPhp by shivitomer
Php by shivitomer
 
Control Structures In Php 2
Control Structures In Php 2Control Structures In Php 2
Control Structures In Php 2
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
Testando API REST - Parte 1
Testando API REST - Parte 1Testando API REST - Parte 1
Testando API REST - Parte 1
 
Php with MYSQL Database
Php with MYSQL DatabasePhp with MYSQL Database
Php with MYSQL Database
 
Javascript dom
Javascript domJavascript dom
Javascript dom
 
Introduction To PHP
Introduction To PHPIntroduction To PHP
Introduction To PHP
 
Html
HtmlHtml
Html
 

Destacado

Exposicion de php
Exposicion de phpExposicion de php
Exposicion de phpangie barre
 
Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phplgcj1989
 
Le château reine blanche
Le château  reine blancheLe château  reine blanche
Le château reine blancheGuiBou0136
 
Dragonbridge OpportunitéS à Saisir En Chine
Dragonbridge OpportunitéS à Saisir En ChineDragonbridge OpportunitéS à Saisir En Chine
Dragonbridge OpportunitéS à Saisir En Chinepeterloorits
 
Flaca - Andrés Calamaro
Flaca - Andrés CalamaroFlaca - Andrés Calamaro
Flaca - Andrés CalamaroGustavoMaluenda
 
Psico tsc el aparato psíquico 2
Psico tsc el aparato psíquico 2Psico tsc el aparato psíquico 2
Psico tsc el aparato psíquico 2Dra Ja
 
Portfolio fbh.ppt
Portfolio fbh.pptPortfolio fbh.ppt
Portfolio fbh.pptberthel
 
Comment s'abonner aux pronos garantis
Comment s'abonner aux pronos garantisComment s'abonner aux pronos garantis
Comment s'abonner aux pronos garantissydharta77
 
Lettre bimensuelle Algex n°102
Lettre bimensuelle Algex n°102Lettre bimensuelle Algex n°102
Lettre bimensuelle Algex n°102OUADA Yazid
 
Atelier e-reputation tunis 2.0
Atelier e-reputation tunis 2.0Atelier e-reputation tunis 2.0
Atelier e-reputation tunis 2.0Lionel Fumado
 
L'EAU Y ES-TU ? - Dossier de presse
L'EAU Y ES-TU ? - Dossier de presseL'EAU Y ES-TU ? - Dossier de presse
L'EAU Y ES-TU ? - Dossier de presseCCSTIGRENOBLE
 
Servidor basico DNS
Servidor basico DNSServidor basico DNS
Servidor basico DNSNinrod Mena
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4laurastraw
 
Tous Connectés - Dossier de presse
Tous Connectés - Dossier de presseTous Connectés - Dossier de presse
Tous Connectés - Dossier de presseCCSTIGRENOBLE
 

Destacado (20)

Exposicion de php
Exposicion de phpExposicion de php
Exposicion de php
 
Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-php
 
Conociendo PHP
Conociendo PHPConociendo PHP
Conociendo PHP
 
Le château reine blanche
Le château  reine blancheLe château  reine blanche
Le château reine blanche
 
Presentació moodle
Presentació moodlePresentació moodle
Presentació moodle
 
Dragonbridge OpportunitéS à Saisir En Chine
Dragonbridge OpportunitéS à Saisir En ChineDragonbridge OpportunitéS à Saisir En Chine
Dragonbridge OpportunitéS à Saisir En Chine
 
Flaca - Andrés Calamaro
Flaca - Andrés CalamaroFlaca - Andrés Calamaro
Flaca - Andrés Calamaro
 
Curso Salud y Abuso Emocional 101
Curso Salud y Abuso Emocional 101 Curso Salud y Abuso Emocional 101
Curso Salud y Abuso Emocional 101
 
Psico tsc el aparato psíquico 2
Psico tsc el aparato psíquico 2Psico tsc el aparato psíquico 2
Psico tsc el aparato psíquico 2
 
Ejercicios Electricidad resueltos
Ejercicios Electricidad resueltosEjercicios Electricidad resueltos
Ejercicios Electricidad resueltos
 
Portfolio fbh.ppt
Portfolio fbh.pptPortfolio fbh.ppt
Portfolio fbh.ppt
 
Murmure10 18nov
Murmure10 18novMurmure10 18nov
Murmure10 18nov
 
Aprendo
AprendoAprendo
Aprendo
 
Comment s'abonner aux pronos garantis
Comment s'abonner aux pronos garantisComment s'abonner aux pronos garantis
Comment s'abonner aux pronos garantis
 
Lettre bimensuelle Algex n°102
Lettre bimensuelle Algex n°102Lettre bimensuelle Algex n°102
Lettre bimensuelle Algex n°102
 
Atelier e-reputation tunis 2.0
Atelier e-reputation tunis 2.0Atelier e-reputation tunis 2.0
Atelier e-reputation tunis 2.0
 
L'EAU Y ES-TU ? - Dossier de presse
L'EAU Y ES-TU ? - Dossier de presseL'EAU Y ES-TU ? - Dossier de presse
L'EAU Y ES-TU ? - Dossier de presse
 
Servidor basico DNS
Servidor basico DNSServidor basico DNS
Servidor basico DNS
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4
 
Tous Connectés - Dossier de presse
Tous Connectés - Dossier de presseTous Connectés - Dossier de presse
Tous Connectés - Dossier de presse
 

Similar a Php Basico (20)

Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion Php
 
Especialista Web J9 Php
Especialista Web J9  PhpEspecialista Web J9  Php
Especialista Web J9 Php
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Curso TIC de PHP y MSQL Parte 2
Curso TIC de PHP y MSQL Parte 2Curso TIC de PHP y MSQL Parte 2
Curso TIC de PHP y MSQL Parte 2
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Php
PhpPhp
Php
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
 
Php
PhpPhp
Php
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php
PhpPhp
Php
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Php Basico

  • 2. Antes de Comenzar... Salir Buenas practicas al escribir tus programas
  • 4. Tips programación Salir • Formato para el código. • Diseño. • Controla tus versiones. • Usa librerías externas.
  • 5. Tips programación Salir Formato para el código • Identado. • Alinea bloques de código. • Estandares (variables, funciones, clases, métodos, archivos) . • Comenta y Documenta.
  • 6. Tips programación Salir “ Los buenos programadores saben qué escribir. Los mejores qué reescribir (y reutilizar)”. Eric Raymond
  • 7. Antes de Comenzar... Salir Introducción a la Programación en PHP
  • 8. Características Salir • PHP Hypertext Pre-Processor • Interpretado • Ejecutable del lado del servidor • Orientado a programación Web • Embebido en HTML • Amplio soporte de BD: Ingress, InterBase, DB2, Informix, mSQL, MySQL, ODBC, Oracle, PostgreSQL, Sybase • Es LIBRE.
  • 10. Sintaxis PHP Salir <? echo 'Hello world en PHP'; ?> <?php echo 'Hello world en PHP'; ?>
  • 11. Sintaxis PHP Salir <html> <body> <?php if (date(&quot;H&quot;, date('U'))>18) { ?> Buenas noches. <?php } else { ?> Buenos días. <?php }?> </body> </html>
  • 12. Sintaxis PHP Salir <html> <body> <?php if (date(&quot;H&quot;, date('U'))>18) { echo “Buenas noches.”; } else { echo “Buenos días.”; } ?> </body> </html>
  • 13. Sintaxis PHP Salir /* Comentarios estilo C. * Pueden ser de varias líneas. */ // Comentarios estilo C++. # Comentarios estilo Bash/Perl.
  • 14. Variables Salir • No pueden empezar con números ni caracteres especiales. • Empiezan con $ $numero = 123; $nombre = “Ana Perez”; • No es necesario declararlas antes de usarlas. • Aunque no se les asigna tipo de datos, toma el tipo que contenga el valor que se les asigne.
  • 15. Variables Salir $mi_variable = ’Inicializamos como una cadena de texto’; $mi_variable = 3; // Ahora es un entero. $mi_variable = 3.14 * $mi_variable; // Ahora float. $mi_variable = new MiClase(); // Ahora un objeto.
  • 16. Casting de variables Salir PHP se encarga de realizar ciertas conversiones de tipo automáticamente: $mivar = 12; echo $mivar; En este ejemplo, PHP convierte el valor entero 12 a la cadena de texto “12” antes de pasárselo a la función echo. $mivar = ’3’; $mivar = 2 + $mivar; En este caso $mivar comienza almacenando la cadena “3”. Luego para realizar la suma, se convierte al entero 3, se realiza la suma y se asigna a $mivar el entero 5. También se puede forzar el casting: $mivar = (string)123; settype($mivar, &quot;double&quot;); // Cambia el tipo de dato.
  • 17. Tipos de Dato Salir • Integer • Double • String • Boolean • Array • Object
  • 18. Funciones para variables Salir • gettype: devuelve el tipo de datos de una variable. • settype: cambia el tipo de datos de una variable. • isset: determina si una variable está definida. • is_< tipodato >: determina si una variable es del tipo < tipodato >.
  • 19. Funciones para variables Salir $edad=20; $nombre=”Maria”; print(gettype($edad).”<br>”); print(gettype($nombre).”<br>”); $peso=92.3; settype($peso, “integer”); echo $peso; echo “peso: “.isset($peso).”<br>a: ”.isset($a); if (is_integer($edad)) echo 'edad es de tipo Entero';
  • 20. Constantes Salir • Las constantes en PHP se crean mediante la función: define(nombre, valor); <?php define(“INSTITUTO”, “171”); if (defined(“INSTITUTO”)) echo “Bienvenido al ”.INSTITUTO; Else echo “Defina el instituto”; ?>
  • 21. Operadores Salir • Aritméticos: = asignación + suma - resta * multiplic / div % resto • De comparación: == igual === idéntico != ó <> diferente > ó < ó >= ó <= • Lógicos: && ó and Y lógico || ó or O lógico ! negación Xor O exclusivo. • De incremento/decremento ++$var ó $var++ -$var ó $var--
  • 22. Operadores Salir • Combinados: += suma y asigna -= resta y asigna *= multiplica y asigna /= divide y asigna %= calcula módulo y asigna .= cocatena y asigna
  • 23. Salir if-else Sentencias de Control <?php $a = 3; $b = 2; if ($a>$b){ $mayor = $a; echo 'a es mayor que b'; }else{ $mayor = $b; echo 'b es mayor que a'; } ? >
  • 24. Salir if-elseif Sentencias de Control <?php $a = 3; $b = 2; if ($a>$b){ $mayor = $a; echo 'a es mayor que b'; }elseif (($b>$a)){ $mayor = $b; echo 'b es mayor que a'; }else{ $mayor = $a; echo 'a y b son iguales'; } ? >
  • 25. Salir Operador ternario Sentencias de Control <?php $a = 3; $b = 2; ($a==$b)?print “Iguales”:print “Distintos”; $mayor=($a>=$b)?$a:$b; ? >
  • 26. Salir switch Sentencias de Control <?php $a=3; switch($a) { case 1: print(&quot;opción uno&quot;); break; case 2: print(&quot;opción dos&quot;); break; case 3: print(&quot;opción tres&quot;); break; default: print(&quot;No hay opciones&quot;); } print(&quot;Valor de a: &quot; . $a.&quot;<br>&quot;); ?>
  • 27. Salir for Ciclos // ejemplo 1 for ($i=0; $i<=10; $i++){ print $i; } // ejemplo 2 for ($i=1; ; $i++){ if ($i>10) Break; print $i; } // ejemplo 3 for ($i=1; $i<10; print $i, $i++);
  • 28. Salir while Ciclos // ejemplo 1 $n = 10; while ($n>0){ print (“valor de n: ”.$n.”<br>”); --$n; } // ejemplo 2 $n = 8; while (--$n) print (“valor de n: ”.$n.”<br>”); // ejemplo 3 $n = 12; do{ print (“valor de n: ”.$n.”<br>”); --$n; }while ($n>8);
  • 29. Salir include Incluir archivos Permiten incluir archivos, funciones o partes de códigos. <?php include ('nombre.php'); include (“archivo.php”); ?> * Las funciones y variables definidos antes de la llamadas son accesibles para el código en el fichero. De igual forma todos los elementos definidos en el fichero estarán disponibles para el script que hace el llamado. * Si el fichero a incluir no existe se genera un warning o un aviso,continuando con la ejecución por la siguiente instrucción * Puede utilizarse en combinación con otras estructuras de control: for ($i;$i<4;$i++) {include(“fichero”.$i.”.php”);}
  • 30. Salir require Incluir archivos Permiten incluir todo el contenido. <?php require (“archivo.php”); ?> * Su comportamiento es equivalente a la directiva #include del Leng. C * No puede ser utilizado con estructuras de control * En caso que el archivo referenciado por require no existe, se genera un error fatal y no permite seguir ejecutando el script. require_once() o include_once(): Carga y evalúa cada script una vez como máximo, evitando así los errores producidos por redefinición de funciones o la resignación de valores a variables.
  • 31. Funciones Salir Función con parámetro por valor: function nombre ($par) Función con parámetro por referencia: function nombre (&$par) Función con parámetro con valor por defecto: function nombre ($par = valor) Nota:Para retornar el valor de una función se usa return. PHP permite recursividad en sus funciones. Variables del tipo static(static $var) siempre retorna el último valor que tuvo esa variable. Variables del tipo global (global $var) Obtener número de parámetros enviados/contenido de parámetros: func_nums_args() / func_get_arg($i) / arg_list[$i]
  • 32. Salir Funciones function no_arg(){ // Sin parámetros echo &quot;Hola mundo&quot;,&quot;<br>&quot;; } echo &quot;No se ha llamado a la función NO_ARG todavía&quot;,&quot;<br>&quot;; no_arg(); echo &quot;La función NO__ARG ha sido llamada!&quot;,&quot;<br>&quot;; function contar($number=6){ //parámetros por defecto for(;$number<10;$number++){ echo $number,&quot;<br>&quot;; } } echo &quot;No se ha llamado la función CONTAR todavía <br>&quot;; contar(8); contar(); echo &quot;!La función CONTAR ha sido llamada<br>&quot;;
  • 33. Salir Funciones function cuadrado($num){ // parámetro por valor, pasa una copia $num = $num +1; return $num*$num; } $numero = 7; print($numero.&quot;<br>&quot;); print(cuadrado($numero).&quot;<br>&quot;); print($numero.&quot;<br>&quot;); //parámetro por referencia (& antes del argumento del parámetro) function anadir(&$string) { $string .= ' y algo más.'; } $str = 'Esto es una cadena, '; anadir($str); echo $str.&quot;<br>&quot;; // 'Esto es una cadena, y algo más.'
  • 34. Salir Funciones //Alcance de las Variables $numero = 9; function otro_numero(){ $numero=6; } print(&quot;El número es :&quot;.$numero.&quot;<br>&quot;);otro_numero(); print(&quot;El valor de la variable&quot;.$numero.&quot; no se ve alterada <br>&quot;); $numero = 9; function otro_numero2(){ global $numero; $numero=6; } print(&quot;El numero es :&quot;.$numero.&quot;<br>&quot;);otro_numero2(); print(&quot;El valor de la variable&quot;.$numero.&quot; si se ve alterada <br>&quot;); //Array $GLOBALS $numero = 9; function otroNum(){ $GLOBALS[&quot;numero&quot;]=6 ; // cuando se usa el array las variables no van precedidas $ } otroNum(); print(&quot;Número con GLOBALS:&quot;.$numero.&quot;<br>&quot;);
  • 35. Salir Funciones function no_arg(){ // Sin parámetros echo &quot;Hola mundo Cristiano&quot;,&quot;<br>&quot;; } echo &quot;No se ha llamado a la función NO_ARG todavía&quot;,&quot;<br>&quot;; no_arg(); echo &quot;La función NO__ARG ha sido llamada!&quot;,&quot;<br>&quot;; function contar($number=6){ //parámetros por defecto for(;$number<10;$number++){ echo $number,&quot;<br>&quot;; } } echo &quot;No se ha llamado la función CONTAR todavía <br>&quot;; contar(8); contar(); echo &quot;!La función CONTAR ha sido llamada<br>&quot;; Ejemplos: static.php longitud_parametros.php factorial.php suma.php area.php
  • 36. Cadenas de caracteres Salir strlen() Devuelve la longitud en caracteres de un string. int strlen(string $cadena) <?php $cadena = 'abcdef'; echo strlen($cadena); // 6 $cadena = ' ab cd '; echo strlen($cadena); // 7 ?> strpos() Localiza la primera aparición de un caracter o subcadena dentro de la cadena. int strpos(string $cadena, string $caracter) <?php echo strpos(&quot;Hello world!&quot;,&quot;world&quot;); // Devuelve 6 echo strpos(&quot;Hello world!&quot;,&quot;abc&quot;); // Devuelve FALSE ?>
  • 37. Cadenas de caracteres Salir strcmp() Compara dos cadenas de texto en modo binario. Es sensible a mayúsculas y minúsculas. int strcmp ( string $cadena1, string $cadena2 ) Devuelve: Integer < 0 si $cadena1 < $cadena2 Integer > 0 si $cadena1 > $cadena2 Cero ( 0 ) si $cadena1 = $cadena2 <?php echo strcmp(&quot;xyz&quot;,&quot;abc&quot;); // Devuelve 1 echo strcmp(&quot; hola&quot;,&quot;abc&quot;); // Devuelve -1 echo strcmp(&quot;abc&quot;,&quot;abc&quot;); // Devuelve 0 ?>
  • 38. Cadenas de caracteres Salir substr() Devuelve parte de una cadena. string substr(string $cadena, int $comienzo [, int $longitud]) <?php echo substr(&quot;abcdef&quot;, 1); // Devuelve “bcdef” echo substr(&quot;abcdef&quot;, 1, 3); // Devuelve “bcd” echo substr(&quot;abcdef&quot;, -1); // Devuelve “f” echo substr(&quot;abcdef&quot;, -3, 1); // Devuelve “d” ?>
  • 39. Cadenas de caracteres Salir str_replace() Sustituye todas las apariciones de una cadena en otra. string str_replace ( string $cad_buscada, string $cad_sustituta, string $cad_original [,int $veces] ) <?php echo str_replace(&quot;o&quot;,“”,“Hola Mundo”); // Devuelve “Hla Mund” echo str_replace(&quot;Mundo&quot;,“171”,“Hola Mundo”);// Devuelve “Hola 171” ?>
  • 40. Arreglos Salir Se definen usando el constructor array $personas = array (&quot;Job&quot;, &quot;Ana&quot;, &quot;Maria&quot;); Asigando valores a cada elemento: $MyArray[] = 'Hola'; $MyArray[] = 'Mundo Cristiano'; Tipos de arreglos: Arreglos enumerados o indexados numéricamente Arreglos asociativos: índices cadenas de caracteres $ciudades = array(&quot;en&quot; => &quot;English&quot;, &quot;es&quot; => &quot;Español&quot;, &quot;fr&quot;=>&quot;Frances&quot;);
  • 41. Arreglos Salir Funciones relacionadas: count(vector) o sizeof(vector): Devuelve número de elementos. next, reset, prev, currenty end: Se desplaza por el vector. current -Devuelve el valor del elemento que indica el puntero pos - realiza la misma función que current reset - mueve el puntero al primer elemento de la tabla end - mueve el puntero al último elemento de la tabla next - mueve el puntero al elemento siguiente prev - mueve el puntero al elemento anterior array_splice(vector, pos ini, tamaño):Elimina la posición de un elemento
  • 42. Salir