• Nenhum resultado encontrado

PHP* e suas aplicações na ciência

N/A
N/A
Protected

Academic year: 2021

Share "PHP* e suas aplicações na ciência"

Copied!
33
0
0

Texto

(1)

PHP*

e suas aplicações na ciência

28 de Maio

IF/UFRGS

(2)

Pra que serve PHP?

Para criar websites

Mas eu já sei HTML*...

HTML é estático

(3)

Exemplo 1: <html> <head> </head>  <body>  <h1> Hello world! </h1>  </body> </html> Exemplo 2: <html> <body> <?php $word1 = ”Hello”; $word2 = ” world\n”; $string = $word1.$word2; echo "<h1>”.$string.”</h1>"; ?> </body> </html> 

(4)

Exemplo 1: <html> <head> </head>  <body>  <h1> Hello world! </h1>  </body> </html> Exemplo 2: <html> <body> <?php $word1 = ”Hello”; $word2 = ” world\n”; $string = $word1.$word2; echo "<h1>”.$string.”</h1>"; ?> </body> </html> 

(5)

Exemplo 1: <html> <head> </head>  <body>  <h1> Hello world! </h1>  </body> </html> Exemplo 2: <html> <body> <?php $word1 = ”Hello”; $word2 = ” world\n”; $string = $word1.$word2; echo "<h1>”.$string.”</h1>"; ?> </body> </html> 

(6)

Exemplo 1: <html> <head> </head>  <body>  <h1> Hello world! </h1>  </body> </html> Exemplo 2: <html> <body> <?php $word1 = ”Hello”; $word2 = ” world\n”; $string = $word1.$word2; echo "<h1>”.$string.”</h1>"; ?> </body> </html> 

(7)

Exemplo 3: <html> <head> </head> <body> <? // Comentario: nao tente isso em casa for($i=100; $i>0; $i­­) {  echo $i." garrafas de cerveja no muro, bebo uma, jogo no   lixo, ".($i­1)." garrafas no muro...\n <br>"; } ?>  </body> </html>

(8)

Alguns conceitos básicos

Client side

HTML

JavaScript

CSS

Server side

PHP

ASP

CGI

(9)

Alguns conceitos básicos

Client side

HTML

JavaScript

CSS

Server side

PHP

ASP

CGI

(10)

Exemplo 4: hi.php <?php $arr[] = 'Hallo Welt'; $arr[] = 'Hola, mundo'; $arr[] = 'Dia duit domhan'; $arr[] = 'Oi, mundo'; $arr[] = 'Halló heimur'; $arr[] = 'Bonjour tout le monde'; srand ((double) microtime() * 1000000); $randomarr = rand(0,count($arr)­1); echo $arr[$randomarr]; ?>  exemplo4.php <? include('hi.php'); ?>

(11)

Algumas vantagens do PHP

Free software

Comunidade gigantesca

Presente em praticamente 

qualquer servidor 

moderno

Documentação e mais 

documentação

(12)

Aplicações 

Divulgação do seu trabalho

Facilitar o acesso a grandes 

conjuntos de dados

Interação com software sem a 

liberação do código fonte

Como ponte entre softwares escritos 

em outras linguagens e a WWW

(13)

Detalhes da linguagem 

Sintaxe quase idêntica ao Perl

Tipagem livre

Orientável a objetos

Sensível ao caso

Variáveis podem ser usadas sem 

inicializa­las 

(14)

Operador

Descrição

Exemplo

Resultado

+

Adição

$x = 1;

$x+2;

3

­

Subração

$x = 3;

$x­2;

1

*

Multiplicação

3*2

6

/

Divisão

6/2

3

++

Incremento

$x=1;

$x++;

2

=

Atribuição

$x=1; $y=$x;

1

==

É igual?

$x == $y

True / False

!=

É diferente?

$x != $y

True / False

>

É maior?

$x > $y

True / False

&&

Logical and

($x<2 && $y>10)

True / False

||

Logical or

($x<2 || $y>10)

True / False

!

Logical is not !($x<2 && $y>10) True / False

(15)

Formulários

Formulário <html> <body> <form action="form.php" method="post">  Nome:  <input type="text" name="nome" /><br>  Idade: <input type="text" name="idade" /><br>  <input value="Submit" type="submit" /> </form> </body> </html>

(16)

Formulários

Formulário <html> <body> <form action="form.php" method="post">  Nome:  <input type="text" name="nome" /><br>  Idade: <input type="text" name="idade" /><br>  <input value="Submit" type="submit" /> </form> </body> </html>

(17)

Formulários

Formulário <html> <body> <form action="form.php" method="post">  Nome:  <input type="text" name="nome" /><br>  Idade: <input type="text" name="idade" /><br>  <input value="Submit" type="submit" /> </form> </body> </html>

(18)

Formulários

Formulário <html> <body> <form action="form.php" method="post">  Nome:  <input type="text" name="nome" /><br>  Idade: <input type="text" name="idade" /><br>  <input value="Submit" type="submit" /> </form> </body> </html>

(19)

Formulários

form.php

<html>

<body>

<?

$n = $_POST["nome"];

$i = $_POST["idade"];

?>

Seu nome e <? echo $n; ?>.<br />

Tu tem <? echo $i; ?> anos de idade.

</body>

(20)

Formulários

A diferença entre os métodos POST e GET

POST

Informações não são reveladas ao 

usuário.

GET

Informações agregadas ao URL

Qualquer um pode ver

Exemplo:

http://www6.ufrgs.br/portaldenoticias/noticias.php?id=2674

(21)

Formulários

A diferença entre os métodos POST e GET

POST

Informações não são reveladas ao 

usuário.

GET

Informações agregadas ao URL

Qualquer um pode ver

Exemplo:

(22)

Usando GET para facilitar sua vida

Isso nunca muda, mas o que vem abaixo sim.<br>

Menu, header, etc, etc...<br><br>

Links<br>

<a href='./'>Home</a><br>

<a href='?page=teste.php'>Teste 1</a> <br>

<a href='?page=teste2.php'>Teste 2</a>

<?

$page = $_GET['page'];

if (!$page) {

 $page = "main.php";

}

include($page);

(23)

Funções

Nome

Descrição

round(float,precision) Arredondamento de ponto flutuante preg_split(/regex/,$line) Sepera uma string de acordo com uma  REGEX file() Lê linhas de um arquivo ASCII para um  array array_slice($arr,n) Corta um array por # linhas date(format) Retorna a data do servidor strlen(str) Retorna tamanho de uma string php_info() Retorna informações sobre configuração  do servidor sin(),cos(),tan(), ... Funções matemáticas básicas Para mais funções visite: http://www.php.net

(24)

Funções

#!/usr/bin/php    ou   php script.php

apt­get install php5­cli

Para executar um processo do sistema 

use as funções:

exec()

system()

(25)

Misc

Cookies

Sessões

Upload de arquivos

Envio de emails

(26)

Uma introdução a banco de dados

PHP fornece uma interface Cliente­

WebServer com o banco de dados

SQL* é um tipo linguagem de banco de dados

(e.g. SDSS, Millenium Simulation, DES)

MySQL é um dos bancos de dados mais 

populares por ai, usado para conter 

quantidades enormes de informação. 

Existem outros:

Postgres

Oracle

SQLite3

(27)

Conectando­se

<?php

$con = mysql_connect("localhost","user","pass");

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }

?> 

(28)

Criando um DB (my_db)

<?

if (mysql_query("CREATE DATABASE my_db",$con))

  {

  echo "Database created";

  }

else

  {

  echo "Error creating database: " . mysql_error();

  }

?>

(29)

Criando uma tabela (Persons)

mysql_select_db("my_db", $con);

$sql = "CREATE TABLE Persons

(

FirstName varchar(15),

LastName varchar(15),

Age int

)";

mysql_query($sql,$con);

mysql_close($con);

?> 

(30)

Extraindo informação de uma tabela

$con = mysql_connect("localhost","user","pass");

if (!$con)

  { die('Could not connect: ' . mysql_error()); }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

while($row = mysql_fetch_array($result))

  {

  echo $row['FirstName'] . " " . $row['LastName'];

  echo "<br />";

  }

mysql_close($con);

(31)

Estrutura de uma Query SQL (SDSS)

SELECT 

    p.ra,

    p.dec,

    p.dered_g, 

    p.dered_r,

    p.psfMagerr_g, 

    p.psfMagerr_r into mydb.UMaI from PhotoPrimary as p

WHERE p.ra > 152.0

  and p.ra < 164.0

  and p.dec > 46.0

  and p.dec < 56.0

(32)

E por ai vai...

Um exemplo prático

PaASP

Uma aplicação util

(33)

Recursos 

www.php.net

www.w3schools.com/php/

www.spoono.net (hackeado por um 

grupo Islamico ontem!)

www.google.com (sem brincadeira) 

Referências

Documentos relacionados

b) Os instrumentais que não tenham mais condições de uso devem ser adequadamente descartados pela instituição hospitalar. Os métodos e procedimentos de descarte dos

A taxa do INR ideal para os paci- entes com disfunção ventricular e insuficiência cardíaca também não foi estimada por meio de estudos prospectivos e randomizados, e a taxa

A Educação de Jovens e Adultos (EJA), como o próprio nome diz, é um programa de ensino público de nível fundamental e médio que visa a formação de

Todavia, nos substratos de ambos os solos sem adição de matéria orgânica (Figura 4 A e 5 A), constatou-se a presença do herbicida na maior profundidade da coluna

Postura contrária foi encontrada com a colega de trabalho, já que as duas trabalham na escola Beta, onde a professora (E) diz.. que seria importante conhecer esse aluno, pois

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as

5 Busca en el text anterior i copia un grup nominal de cada tipus... l’ús de