Arquivo da categoria: PHP

O comando yield do PHP 5.5

No PHP 5.5, com a introdução dos geradores, um novo comando foi adicionado a linguagem. Este comando é o yield.

A palavra-chave yield, já é conhecida em outras linguagens, como Python, por exemplo. Na verdade, o comando yield é bastante parecido com o comando return, com a diferença que usando yield, a função continua em execução, ou seja, o valor será retornado e a função continuará executando o restante do código.

Continue lendo

Enviando dados via POST com file_get_contents() em PHP

A função file_get_contents() é utilizada para obter dados de arquivos e URLs.  Através dela, também é possível enviar dados via POST para uma página web e então receber o resultado desta página.

Para isto, basta utilizar o terceiro parâmetro da função. O terceiro parâmetro deve ser um stream de contexto que pode ser criado através da função stream_context_create().

Primeiro, vamos criar a query HTTP que será enviada por POST:

Continue lendo

Descobrindo o sistema operacional através do PHP

O PHP possui uma constante chamada PHP_OS que contém o nome do sistema operacional que está rodando a linguagem. Para descobrir qual sistema está rodando o script, basta exibir o conteúdo desta constante:

<?php echo PHP_OS; ?>

E o resultado será algo parecido com isto (dependendo do sistema operacional):

Darwin

Alguns dos valores possíveis são:

  • WINNT
  • WIN32
  • Linux
  • FreeBSD
  • OpenBSD
  • Darwin

Até a próxima 😉

Alterando o status de um produto via código no Magento

Neste post vou mostrar a vocês como alterar o habilitar/desabilitar um produto via código no Magento. Vamos supor que você esteja trabalhando em um controller. Vamos aos passos:

Primeiro, precisamos carregar o produto que desejamos alterar o status.

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', '1234567890');

Onde 1234567890 é o SKU do produto. Após isto, vamos alterar o status do produto:

Continue lendo

Formulários e CSRF no Magento

1364931728_Cart_by_Artdesigner.lvO Magento utiliza em seus formulários uma chave que serve de proteção contra ataques do tipo CSRF. Portanto se for necessário enviar um formulário para o Magento e este não tiver esta chave atualizada, o formulário não é aceito. Para obter esta chave, utilize o comando no controlador:

$formKey = Mage::getSingleton('core/session')->getFormKey();

Após obtida, esta chave deve ser adicionada ao formulário através de um campo do tipo hidden com o nome de form_key:

$html_campo_hidden = '<input name="form_key" type="hidden" value="' . $formKey . '">';

Pronto, agora basta adicionar este HTML ao seu formulário e ele já será aceito pelo Magento.

Até a próxima 😉

Exibindo mensagens de erro na administração do Magento

Quando estamos desenvolvendo um módulo para o Magento, precisamos certas vezes exibir uma mensagem de erro para o usuário. A forma mais fácil de fazer isto é adicionando o erro na sessão. Para isto, basta chamar o seguinte comando no controlador na qual deseja gerar o erro:

$this->_getSession()->addError('Mensagem de erro!');

Pronto, após isto sua mensagem de erro já poderá ser exibida no layout da administração do Magento.

Captura de tela 2013-04-02 às 11.19.23

(Este post foi baseado na versão 1.7.0.0 do Magento)

Até a próxima 😉

Criando blocos diretamente nos controladores do Magento

1364931728_Cart_by_Artdesigner.lvCriar um bloco no Magento é uma tarefa trabalhosa, sendo que muitas vezes precisamos de algo rápido na qual não vale a pena passar por todo o trabalho de criação de um bloco.  Podemos então criar um bloco diretamente no controlador e adicionar HTML nele. Para isto, basta utilizar os seguintes comandos:

$this->loadLayout();

$block = $this->getLayout()

->createBlock('core/text', 'test-block')

->setText('<h1>Alo Mundo!</h1>');

$this->_addContent($block);

$this->renderLayout();

Pronto, nosso bloco está criado e com HTML dentro. Com os comandos acima carregamos o layout, adicionamos o bloco e por fim renderizamos o layout.

(Este post foi baseado na versão 1.7.0.0 do Magento)

Até a próxima 😉

Criando um CRUD com o bake do CakePHP

cakephp_logoNeste pequeno tutorial vou mostrar como criar um sistema CRUD (Create, Read, Update, Delete) utilizando a ferramenta bake disponível no framework CakePHP.

O CakePHP é um framework de desenvolvimento rápido para PHP. Já o bake é um utilitário presente no CakePHP capaz de gerar códigos de forma rápida, eliminando assim o trabalho chato árduo de criar CRUDs.

Vamos utilizar a versão 2.3.1 e vamos partir do princípio que você já tenha o CakePHP instalado e funcionado. Vamos utilizar também o MySQL 5.5.

Continue lendo