Skip to content

Instantly share code, notes, and snippets.

View JoshuaEstes's full-sized avatar
👨‍💻

Joshua Estes JoshuaEstes

👨‍💻
View GitHub Profile
<?php
namespace AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use AppBundle\Form\DataMapper\UserSettingDataMapper;
class UserProfileSettingsType extends AbstractType
{
public function buildForm(FormBuilderInterface $build, array $options)
<?php
namespace AppBundle\Entity;
use Symfony\Component\Security\Core\User\UserInterface;
class UserSetting
{
/**
* @var UserInterface
<?php
use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\HttpFoundation\File\File;
public function streamAction()
{
$file = new File('/path/to/largefile.ext');
// in case you need the container
$container = $this->container;
$response = new StreamedResponse(function() use($container, $file) {
@JoshuaEstes
JoshuaEstes / gist.php
Last active October 9, 2015 19:17
Symfony2 Validator Component
<?php
namespace Acme\TutorialBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints as Assert;
class TestCommand extends ContainerAwareCommand
<?php
protected function interact(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getDialogHelper();
$validator = Validation::createValidator();
$inputValue = $dialog->askAndValidate($output, 'Enter some input: ', function($value) use($validator){
$errors = $validator->validateValue($value, new Assert\NotBlank());
if (count($errors)) {
throw new \InvalidArgumentException((string) $errors);
<?php
protected function interact(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getDialogHelper();
$inputValue = $dialog->askAndValidate($output, 'Enter some input: ', function($value){
$validator = Validation::createValidator();
$errors = $validator->validateValue($value, new Assert\NotBlank());
if (count($errors)) {
throw new \InvalidArgumentException((string) $errors);
<?php
protected function interact(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getDialogHelper();
$inputValue = $dialog->askAndValidate($output, 'Enter some input: ', array($this, 'validateInput'));
}
public function validateInput($value)
{
<?php
protected function interact(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getDialogHelper();
$validator = Validation::createValidator();
$inputValue = $dialog->ask($output, 'Enter some input: ');
$errors = $validator->validateValue($inputValue, new Assert\NotBlank());
if (count($errors)) {
throw new \RuntimeException('Input cannot be blank');
# Add a self generated cert to local keychain so we do not get ssl issues when testing, this is used for development
# and should only be used on your local box
sudo security add-trusted-cert -d -k /Library/Keychains/System.keychain -r trustRoot -p ssl \*.localhost.com.cer
@JoshuaEstes
JoshuaEstes / git-remove-untracked.marckdown
Last active October 6, 2015 06:58
Oneline to delete all files that are not tracked in t git repository. Use grep if you only want certain files
Bash oneliner
for file in $(git ls-files --other --exclude-standard); do rm "$file"; done
Git Clean, does the exact same thing
git clean -df