Para informações mais detalhadas sobre esses tópicos, visite a página do conceito.
A tag de abertura do PHP <?php marca o início do código PHP.
Todas as instruções devem terminar com um ; para separá-las.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Para facilitar a leitura, todos os exemplos de código omitem a tag de abertura do PHP <?php.
Comentários de uma linha começam com //.
// Single line comment
Com o operador de atribuição =, você pode atribuir um valor a uma variável.
Os nomes de variáveis devem começar com o cifrão $ e seguir as convenções de nomenclatura.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Valores e variáveis podem ser passados para funções.
Os argumentos de uma função se tornam novas variáveis para armazenar os valores passados.
Funções podem retornar qualquer valor usando a palavra-chave return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
Funções dentro de classes e suas instâncias são chamadas de métodos.
Para chamar um método, o nome é precedido pela instância e por ->.
Métodos têm acesso à variável especial $this, que se refere à instância atual.
<?php
class Calculator {
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
Neste exercício, você vai escrever um código para ajudar a preparar uma lasanha incrível do seu livro de receitas favorito.
Você tem cinco tarefas, todas relacionadas ao tempo gasto preparando a lasanha.
Implemente a função expectedCookTime na classe Lasagna, que não recebe nenhum argumento e retorna quantos minutos a lasanha deve ficar no forno.
De acordo com o livro de receitas, o tempo esperado no forno, em minutos, é 40:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Implemente a função remainingCookTime na classe Lasagna, que recebe como argumento o número real de minutos que a lasanha já passou no forno e retorna quantos minutos a lasanha ainda precisa ficar no forno, com base no tempo esperado no forno, em minutos, da tarefa anterior.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Implemente a função totalPreparationTime na classe Lasagna, que recebe como argumento o número de camadas que você adicionou à lasanha e retorna quantos minutos você passou preparando a lasanha, considerando que cada camada leva 2 minutos para preparar.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Implemente a função totalElapsedTime na classe Lasagna, que recebe dois argumentos: o primeiro argumento é o número de camadas que você adicionou à lasanha, e o segundo argumento é o número de minutos que a lasanha passou no forno.
A função deve retornar quantos minutos, no total, você trabalhou preparando a lasanha. Esse total é a soma do tempo de preparo em minutos com o tempo, em minutos, que a lasanha passou no forno até o momento.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Implemente a função alarm na classe Lasagna, que não recebe nenhum argumento e retorna uma mensagem indicando que a lasanha está pronta para comer.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Crie sua conta no Exercism para aprender e dominar PHP com 11 conceitos122 exercícios e mentoria humana de verdade, tudo de graça.