Skip to content

Instantly share code, notes, and snippets.

View drgomesp's full-sized avatar
🏠
Working from home

Daniel Ribeiro drgomesp

🏠
Working from home
View GitHub Profile
@drgomesp
drgomesp / instanceof.php
Created November 6, 2014 07:31
instanceof.php
<?php
$obj instanceof 'stdClass';
$obj instanceof stdClass;
@drgomesp
drgomesp / learn-sf-3_doctrine-entidades-e-embed-controllers.md
Last active August 29, 2015 14:03
LEARN Symfony! #3 Doctrine, Entidades e Embed Controllers

LEARN Symfony! #3 Doctrine, Entidades e Embed Controllers

Symfony é um dos principais frameworks para PHP existentes hoje. Além de sua versão full-stack, que permite a criação de aplicações de forma simplificada e com soluções comuns para problemas recorrentes, é também um conjunto de componentes isolados e reutilizáveis que se propõe a cumprir tarefas pequenas e específicas.

Terceiro episódio do curso online sobre Symfony. Neste episódio, veremos um pouco sobre entidades do Doctrine, listaremos registros usando um repositório e de quebra, ainda veremos como utilizar Embed Controllers.

<img src="http://img.youtube.com/vi/YuNZegOBzN4/0.jpg" alt="IMAGE ALT TEXT HERE" width="480" border="10" />

@drgomesp
drgomesp / logger-proposal.php
Last active August 29, 2015 14:03
Logger Interface Proposal for PHP
<?php
interface LogLevel
{
const INFO = 0;
const NOTICE = 1;
const ALERT = 2;
const ERROR = 4;
}
@drgomesp
drgomesp / SRP.md
Last active August 29, 2015 14:02
SRP – Responsabilidade, culpa e consequência

SRP – Responsabilidade, culpa e consequência

Do que se trata responsabilidade, senão do dever de arcar com o próprio comportamento? Assim sendo, por que alguém deveria arcar com as ações de terceiros? Seria isso algo positivo ou negativo? Depende. Do ponto de vista da orientação a objetos, normalmente, é negativo. Negativo porque orientação a objetos tem a ver com interface. Os objetos se propõem a realizar ações a partir da definição de suas interfaces, seus contratos, que delimitam não só as próprias ações, como também o seu escopo de atuação. Nesse sentido, quando os objetos se relacionam, utilizam as interfaces como meio de comunicação; um objeto não conhece nada além da sua própria interface e a interface do objeto com o qual está se propondo a interagir. Se uma ação desconhecida acontece por debaixo dos panos, a conversação fica incoerente, sem sentido. E a interação de objetos, quando não faz sentido, normalmente cria problemas para o ecossistema em que se encontra: a aplicação.

Os diferentes i

<?php
interface Mailer
{
/**
* @throws CouldNotSendMailExeption
*/
pubic function sendMail($to);
}
@drgomesp
drgomesp / learn-sf-2_routing-controllers-e-templates.md
Created June 10, 2014 15:04
LEARN Symfony! #2 Routing, Controllers e Templates

LEARN Symfony! #2 Routing, Controllers e Templates

Symfony é um dos principais frameworks para PHP existentes hoje. Além de sua versão full-stack, que permite a criação de aplicações de forma simplificada e com soluções comuns para problemas recorrentes, é também um conjunto de componentes isolados e reutilizáveis que se propõe a cumprir tarefas pequenas e específicas.

Este é o segundo episódio do curso online sobre Symfony chamado LEARN Symfony!. Neste episódio, você vai aprender a usar controllers, routes e templates para criar páginas no Symfony. Além disso, vai aprender a utilizar annotations para tornar o trabalho mais fácil! Veremos, também, uma introdução às variáveis twig (que cobriremos com mais profundidade no próximo episódio).

<img src="http://img.youtube.com/vi/vqf23FGm5Cs/0.jpg" alt="IMAGE ALT TEXT HERE" width="480" border="10" />

<?php
class DesvioPadrao
{
public function media();
public function somaQuadradoDesvio();
public function desvioPadraoPopulacional();
public function desvioPadraoAmostral();
}

LEARN Symfony! #1 Instalação, estrutura de diretórios e Bundles

Symfony é um dos principais frameworks para PHP existentes hoje. Além de sua versão full-stack, que permite a criação de aplicações de forma simplificada e com soluções comuns para problemas recorrentes, é também um conjunto de componentes isolados e reutilizáveis que se propõe a cumprir tarefas pequenas e específicas.

Este é o primeiro episódio do curso online sobre Symfony, que irá se chamar LEARN Symfony!. Neste episódio, você vai aprender a instalar o Symfony (na versão 2.5) utilizando o Composer. Além disso, irá conhecer a estrutura de diretórios do framework e um de seus principais conceitos: Bundles.

<img src="http://img.youtube.com/vi/ndl4U0Yxy3w/0.jpg" alt="IMAGE ALT TEXT HERE" width="480" border="10" />

@drgomesp
drgomesp / curso-online-symfony.md
Last active August 29, 2015 14:02
Curso online de Symfony

Curso online de Symfony

Formato

O curso será disponibilizado no formato de vídeos – screencasts – através do meu canal pessoal, no YouTube. Os capítulos terão relação entre sí no sentido de que, em capítulos futuros, partirei da premissa de que conceitos já abordados em capítulos anteriores já estão dominados pelo viewer.

Capítulos

@drgomesp
drgomesp / gist:9807406
Created March 27, 2014 13:19
Improving readability of a Behat scenario with @rdohms
Given I go to "/register"
And I fill in the following:
...
When I press "Register"
Then I should be on "/register/check-email"
And I should see "__user.registration.check_email.message"
After this, i have a few Listeners that create objects around the User object, for example a Settings entry, with default values.
What would your option for testing this happened in Behat be?