O documento discute funções do PHP relacionadas a strings e arrays. Na seção de strings, explica funções como strlen, strpos, str_replace, trim e outras. Na seção de arrays, explica como imprimir, adicionar, remover e ordenar elementos de arrays, e funções como count, array_map e array_search.
O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se colocarmos diversas linhas de comandos em um arquivo texto, teremos um script em shell ou, um Shell Script. Além de comandos, um Shell Script pode conter todas as estruturas de uma linguagem de programação, como if, for, while, variáveis e funções.
Nesse minicurso veremos como automatizar tarefas usando Shell Script e conheceremos um pouco mais sobre alguns dos comandos mais úteis para serem utilizados tanto nos scripts quanto diretamente pela linha de comando. Além disso, veremos como customizar a inicialização do seu shell, como utilizar variáveis ambiente, criar seus próprios comandos e como criar um autocompletar para seus eles.
O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se colocarmos diversas linhas de comandos em um arquivo texto, teremos um script em shell ou, um Shell Script. Além de comandos, um Shell Script pode conter todas as estruturas de uma linguagem de programação, como if, for, while, variáveis e funções.
Nesse minicurso veremos como automatizar tarefas usando Shell Script e conheceremos um pouco mais sobre alguns dos comandos mais úteis para serem utilizados tanto nos scripts quanto diretamente pela linha de comando. Além disso, veremos como customizar a inicialização do seu shell, como utilizar variáveis ambiente, criar seus próprios comandos e como criar um autocompletar para seus eles.
Calle tomada - Intervención urbana - ArgentinaSilvia M K
"Calle tomada es una muestra /encuentro / laboratorio de colectivos locales que activan / disputan / intervienen en el espacio público a través del lenguaje artístico y otras estrategias comunicacionales".
Esta muestra se realizó en el Museo de Arte y Memoria (9 entre 51 y 52, La Plata) desde el 8 de Abril al 22 de Mayo de 2010.
Los dos artículos están disponibles en la web en Malabia:: arte, cultura y sociedad, Nº 48, 2010. Barcelona- Montevideo-La Plata.
Venezia 2010 Facebook Developer Garage Parte 2Roberto Marmo
Creare pagina fan Facebook personalizzata usando l'applicazione STATIC FBML, presentato a Facebook Developer Garage a Venezia 2010, in aggiunta al mio libro "Creare applicazioni per Facebook" editore FAG
What's that Building? Using Google's Map API to Create a Campus MapTony Miller
Google is the leader in Internet search engines. It has also surpassed many of its competitors in mapping and directions services. Unlike some other web mapping sites, Google has exposed its underlying data through an extensive API. This API lets us create dynamic map displays and applications suitable for desktop and mobile devices alike.
During this session I will describe our experiences in creating a campus Google map. In the spirit of this year's UNC CAUSE, we will describe how we used the expertise of many campus departments and individuals to improve the map for all users. We will also describe how we were able to make use of Google's hosted maps to allow for collaborative mapping without requiring any programming experience. Other areas of discussion include: soliciting feedback and corrections for your maps, encouraging participation to avoid stale data, and creating a balanced team to implement your own maps sites.
In addition to the always important user experience issues, we will describe the technologies available from Google and others to rapidly deploy maps to your university Web site.
A one hour tutorial on daily work enhancements provided by the PHP debugging extension Xdebug.
Attention: This is a pre-release of the raw slides used in the presentation. A condensed version, including screeshots, might follow later.
- Apresentar o Desenvolvimento Mobile Web
- Mostrar alguns dos serviços que o PHP pode atender, Ensinar a desenvolver soluções práticas para problemas do Desenvolvimento Mobile Web
- Apresentar as Boas práticas
- Incentivar os desenvolvedores web a estudar sobre mercado de trabalho e o mundo do desenvolvimento mobile.
A nossa linguagem preferida evolui e o nosso código deve então seguir o mesmo passo. PHP 7 oferece novas funcionalidades que permitem simplificar, melhorar e aumentar o desempenho do seu código. Nessa palestra, apresentarei os conceitos SOLID e Object Calisthenics e como aplica-los e combina-los com as novas funcionalidades dessa sétima versão. Nossa atualização deve ser constante e do nosso código também.
C’era una volta una tecnica chiamata intervista. Un giorno questa tecnica andò a trovare la nonna e non immaginate com’è andata a finire, anche perché: che significa “ricerca basata sulle storie“? Che vuol dire intervistare? Che errori può compiere l’intervistatore per spezzare l’incantesimo? Ma soprattutto: con queste storie poi che ci faccio?
Ci accompagneranno in questo percorso Malinowski, Tarantino, Adorno, Lazarsfeld e altri individui trascurabili
Dicas para aumentar a performance de um software PHPAlmir Neto
Evitar utilizar funções em laços de repetição, utilizar aspas simples quando a string não precisa ser interpretada, utilizar um bom sistema de cache... Essas e outras várias atitudes podem significar um grande ganho de performance em softwares desenvolvidos em PHP e colaborar para o sucesso de um projeto.
A criação de uma loja virtual não é uma tarefa realizada apenas por desenvolvedores experientes e com um currículo extenso. Michael, que desenvolve, junto com o UOL, pacotes e soluções para a plataforma de pagamento digital PagSeguro vai mostrar isso ao vivo e a cores.
Palestra gratuita: E-commerce: mais fácil do que parece
Dia 12 de junho, das 10h às 13h
Local: Faculdade Impacta
2. O que veremos hoje?
1. Strings
2. Arrays
3. Formulários
3. String
Em diversas situações precisaremos tratar uma String seja:
Dividindo;
Realizando parsers;
Substituindo valores;
Criptografando;
Formatando;
Etc..
O PHP fornece dezenas de funções relacionadas a String, é importante
conhecê-las para tornar mais práticos e simples os códigos-fontes do
seu projeto.
4. Obtendo o tamanho de uma String
O comando strlen permite ao desenvolvedor descobrir qual o
tamanho de uma string passada por parâmetro.
(int) strlen(<string>);
Retorno: o tamanho da string, caso seja vazia
retornará 0.
Obs. Dentre os vários usos podemos citar a validação se o tamanho da
string está de acordo com os parâmetros de armazenamentos definidos
em suas tabelas no MySQL.
6. Localizar uma substring dentro de
uma string(strpos,strchr e strrchr)
O comando strpos retorna a posição numérica da primeira
ocorrência da substring que está sendo procurada na string principal, ou
zero em caso de não haver resultados para a busca realizada.
(int) strpos(<string>,<busca>[,<posicao_de_inicio_de busca>]);
8. strchr e strrch
Os comandos strchr e strrchr localizam a primeira e a última
ocorrência da busca respectivamente.
(string) strch(<string>,<busca>);
(string) strrch(<string>,<busca>);
Retorno: a substring formada pela posição de localização da busca
até o final da string principal. Caso não haja resultados, será
retornado FALSE.
9. Exemplo de strchr e strrch
<?php
echo(strchr(‘Brasil Pentacampeao’, ‘a’). ‘<BR>’);
//Resultado: asil Pentacapeao
echo(strrchr(‘Brasil Pentacampeao’, ‘a’). ‘<BR>’);
//Resultado: ao
echo(strrchr(‘Brasil Pentacampeao’, ‘y’). ‘<BR>’);
//Resultado:
?>
10. Substituição de substring com
str_replace
O comando str_replace substitui todas as ocorrências de uma
busca em string pelo valor informado.
(mixed) str_replace(<busca>,<substituicao>,<string_original>);
Retorno: a nova string com suas alterações.
12. Caixa alta e baixa com stroupper,
strolower e ucfirt
A formatação de strings para caixa alta e caixa baixa pode ser realizada
por meio dos comandos stroupper e strolower,
respectivamente. Existe também o ucfirst que torna maiúscula a
primeira letra da string.
(string) stroupper(<string>);
(string) strlower(<string>);
(string) ucfirst(<string>);
Retorno: a nova string com suas alterações.
13. Exemplo de stroupper, strolower e
ucfirst
<?php
echo(strlower(‘jose NETO’). ‘<BR>’);
//Resultado: jose neto
echo(stroupper(‘jose NETO’).’<BR>’);
//Resultado: JOSE NETO
echo(ucfirst(‘andre MILANI’).’<BR>’);
//Resultado: Andre MILANI
?>
14. Inverter string com strrev
A função strrev, inverte a string passada como parâmetro.
(string) strrev(<string>);
Retorno: a nova string com suas invertida.
Exemplo de strrev
<?php
echo(strrev(‘Brasil’));
Resultado: lisarB
?>
15. Criptografia de string com crypt,
sha1 e md5
As funções crypt, sha1 e md5, são utilizadas para gerar os
códigos hash das string passadas por parâmetro.
Este recurso tem diversas aplicações, entre elas o armazenamento de
senha em tabelas do banco de dados.
O código hash é gerado a partir de algoritmos conhecidos como one-way(única
direção), pois seus resultados não são reversíveis a ponto de se chegar a string
original.”
(string) crypt(<string>);
(string) sha1(<string>);
(string) md5(<string>);
Retorno: código hash gerado a partir da string informada.
ATENÇÃO MUITO USADO!
16. Exemplo de crypt, sha1 e md5
<?PHP
$senhaCadastrada = 'minhaSenhaSeguraDeInternet';
echo(crypt($senhaCadastrada).'<BR>');
// Resultado: $1$eRl.t3cN$87toVnnbrp52Qo5N5LrH50
echo(sha1($senhaCadastrada).'<BR>');
// Resultado: bb8b564b31d1c4a736dbbca0fd3512a5246f3cd8
17. Exemplo de crypt, sha1 e md5
echo(md5($senhaCadastrada).'<BR>');
// Resultado: 852b340fd8be477f0418cdcf32450fa7
// Valor que deve ser armazenado no banco de dados
$valorArmazenadoNoBanco = crypt($senhaCadastrada);
// Autenticando um usuario
$senhaInformadaNoLogin = 'minhaSenhaSeguraDeInternet';
if(crypt($senhaInformadaNoLogin) == $valorArmazenadoNoBanco)
{
echo('Sucesso!');
}
?>
18. Transformar string em arrays com
explode e implode
O explode, separa a string com base em um caractere divisor, que pode
ser qualquer caracter.
(array) explode(<divisor>,<string>[, numero_de_divisoes_maximo]);
Retorno: array com cada parte da string em uma posição.
20. Transformar string em arrays com
explode e implode
O implode, monta uma string com base nas posições existentes em um
array. Para organizar a string, é possível indicar qual o caractere de separação
entra as partes deve ser utilizado na string final
(array) implode(<divisor>,<string>);
Retorno: string com as partes do array.
22. Remover espaços em branco com
trim, ltrim e rtrim
Os comandos trim, ltrim e rtrim removem o excesso de espaços em
branco em diferentes partes da string passada por parâmetro.
(string) trim(<string>);
(string) ltrim(<string>);
(string) rtrim(<string>);
Retorno: string alterada.
23. Exemplo de trim, ltrim e rtim
<?PHP
echo(trim(' Brasil penta campeao ').'<BR>');
// Resultado: _Brasil penta campeao_
echo(ltrim(' Brasil penta campeao ').'<BR>');
// Resultado: _Brasil penta campeao _
echo(rtrim(' Brasil penta campeao ').'<BR>');
// Resultado: _ Brasil penta campeao_
?>
25. Imprimindo um array
O comando print_r é utilizado para exibir todo o conteúdo do array
passado como parâmetro a essa função.
O formato da impressão do array pelo comando print_r é de exibir sempre a
chave e o valor correspondente de cada elemento do array.
(mixed) print_r(<array>);
Retorno: imprime no html as chaves e valores contidos no array.
26. Exemplo imprimindo um array
<?PHP
$meuArray = array('alpha' => 'valor1', 2, 'tres');
$meuArray[5] = 'Novo valor';
print_r($meuArray);
// Resultado:
// Array ( [alpha] => valor1 [0] => 2 [1] => tres [5] => Novo valor )
?>
28. Removendo elementos do array
O comando unset destrói a posição do array em questão ou variável
informada.
(void) unset(<variavel_ou_posicao_do_array>);
Retorno: void.
29. Exemplo do unset
<?PHP
$meuArray = array('a', 'b', 'c', 'd', 'e');
unset($meuArray[3]);
print_r($meuArray);
// Resultado:
// Array ( [0] => a [1] => b [2] => c [4] => e )
?>
30. Obtendo número de elementos do
array
É possível obter o número de elementos existentes em um array por meio das
funções count e sizeof.
(int) count(<variavel>);
(int) sizeof(<variavel>);
Retorno: número de elementos da variável ou array.
33. Retorno Descrição
current Retorna o elemento da posição atual do array.
key Retorna a chave da posição atual do array.
next Avança o índice do array para a próxima posição e retorna
o valor do elemento na posição em questão.
prev Retrocede o índice do array para a posição anterior e
retorna o valor do elemento na posição em questão.
end Avança o índice do array para a última posição e retorna o
valor do elemento na posição em questão.
reset Retrocede o índice do array para a primeira posição e
retorna o valor do elemento na posicão em questão
34. Exemplo navegação em arrays
<?PHP
$meuArray = array('a', 'b', 'c', 'd', 'e', 'f', 'g');
foreach($meuArray as $valor) {
echo($valor." ");
}
// Resultado: a b c d e f g
end($meuArray);
prev($meuArray);
prev($meuArray);
prev($meuArray);
next($meuArray);
echo(key($meuArray)); // Resultado: 4
echo(current($meuArray)); // Resultado: e
?>
35. array_push e array_pop
o array_push insere um valor no final de um arrray e o array_pop
remove o último elemento de um array.
(int) array_push(<array>,<elemento>);
(mixed) array_pop(<variavel>);
Retorno Descrição
array_push Retorna o novo número de elementos do array.
array_pop Retornao último elemento do array, eliminando-o do array.
36. Exemplo array_push e array_pop
<?PHP
$minhaPilha = array();
array_push($minhaPilha, 'a');
array_push($minhaPilha, 'b');
echo(array_push($minhaPilha, 'c').'<BR>'); // Resultado: 3
echo(array_pop($minhaPilha).'<BR>'); // Resultado: c
print_r($minhaPilha); // Resultado: Array ( [0] => a [1] => b )
?>
37. Enviar todos os elementos de um
array para uma função com array_map
Em determinados momentos pode ser necessário que todos os elementos de
um array sejam enviados para uma função específica.
A função array_map recebe um array como parâmetro e uma função e
automatiza o envio de todos os elementos do array para tal instrução.
(array) array_map(<nome_da_funcao>,<array>);
Retorno: um novo array com os retornos da função para cada posição do
array enviado como parâmetro.
39. Achar uma chave com array_key e
array_key_exists
O comando array_keys retorna um novo array, em que cada posição é
uma chave disponível no array mencionado no comando.
Pode ser útil em situações nas quais não sabemos quais os elementos e quais
chaves existem em um array.
(array) array_keys(<array>);
40. Achar uma chave com array_key e
array_key_exists
Caso o você tenha uma determinada chave e precise descobrir se um array
em particular contém um registro atribuído a essa chave, é possivel utilizar a
função array_key_exists
(bool) array_key_exists(<chave>,<array>);
42. Localizar valores em arrays com
array_search e in_array
Para saber se um determinado valor está contido em um array utilie o
array_search
(mixed) array_search(<elemento>,<array>);
Retorno: retorna a chave referente ao valor procurado, no caso de
encontrá-lo se não retorna FALSE.
43. Exemplo array_search e in_array
<?PHP
$meuArray = array('aaa', 'bb', 'Chave do c' => 'c', 'ddd');
echo(array_search('aaa', $meuArray).'<BR>'); // Resultado: 0
echo(array_search('c', $meuArray).'<BR>'); // Resultado: Chave do c
echo(array_search('nenhum', $meuArray).'<BR>'); // Resultado: <vazio>
?>
Obs. Similar a função array_search, o comando in_array retorna TRUE
caso encontre e FALSE caso não.
44. Misturar e ordenar arrays
É possível ordenar arrays por ordem crescente(sort) e decrescente (rsort),
bem como podemos embaralhá-lo(shuffle).
(bool) sort(<array>);
(bool) rsort(<array>);
(bool) shuffle(<array>);
47. $_POST e $_GET
As supervariáves $_POST e $_GET são arrays que representam os dados
enviados ao servidor pelo método post e get. Estas variáveis estão diponíveis
em todas as partes em que forem requisitadas.
$_REQUEST
A supervariável $REQUEST reúne o conteúdo das supervariáveis $_POST,
$_GET e $COOKIES. A vantagem é que, independete do método de envio dos
dados de um formulário, é possível acessar o campo por seu nome.
50. Validação de texto
$tamanho_nome = strlen($_POST["CAMPO_NOME"]);
if($tamanho_nome < 5 || $tamanho_nome > 64)
{
echo("O campo 'Nome' deve ter entre 5 e 64
caracteres.".$tamanho_nome);
$formValid = FALSE;
}
51. Validação número
$idade = (int)$_POST["CAMPO_IDADE"];
if(is_NaN($idade) || $idade < 4 || $idade > 120)
{
echo("O campo 'Idade' deve ter preenchido corretamente.");
$formValid = FALSE;
}
52. Validação email
$email = $_POST["CAMPO_EMAIL"];
$regex = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-
9_]+)*[.][A-z]{2,4}$/";
if(!preg_match($regex, $email))
{
echo("O campo 'E-mail' deve ter preenchido corretamente.");
$formValid = FALSE;
}
53. Validação de radio
$sexo = $_POST["CAMPO_SEXO"];
if($sexo != "M" && $sexo != "F")
{
echo("O campo 'Sexo' deve ser preenchido.");
$formValid = FALSE;
}
54. Validação lista de seleção
$curso = $_POST["CAMPO_CURSO"];
if($curso == "" || $curso == "Selecione...")
{
echo("O campo 'Curso' deve ser preenchido.");
$formValid = FALSE;
}