PHP code example of bukashk0zzz / liip-imagine-serialization-bundle
1. Go to this page and download the library: Download bukashk0zzz/liip-imagine-serialization-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bukashk0zzz / liip-imagine-serialization-bundle example snippets
$bundles = array(
// ... other bundles
new Bukashk0zzz\LiipImagineSerializationBundle\Bukashk0zzzLiipImagineSerializationBundle(),
);
use Bukashk0zzz\LiipImagineSerializationBundle\Annotation as Bukashk0zzz;
namespace AppBundle\Normalizer;
use Bukashk0zzz\LiipImagineSerializationBundle\Normalizer\UrlNormalizerInterface;
/**
* Url normalizer
*/
class UrlNormalizer implements UrlNormalizerInterface
{
/**
* {@inheritdoc}
*/
public function normalize($url){
return str_replace('photo.jpg', 'my_photo.jpg', $url);
}
}
namespace AppBundle\Subscribers;
use Bukashk0zzz\LiipImagineSerializationBundle\Event\UrlNormalizerEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* LiipImagineSerializationEventSubscriber
*/
class LiipImagineSerializationEventSubscriber implements EventSubscriberInterface
{
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
UrlNormalizerEvent::ORIGIN => [
['normalizeOrigin', 10],
],
UrlNormalizerEvent::FILTERED => [
['normalizeFiltered', 10],
],
];
}
/**
* @param UrlNormalizerEvent $event
*/
public function normalizeOrigin(UrlNormalizerEvent $event)
{
$event->setUrl(str_replace('photo', 'newPhoto', $event->getUrl()));
}
/**
* @param UrlNormalizerEvent $event
*/
public function normalizeFiltered(UrlNormalizerEvent $event)
{
$event->setUrl(str_replace('example.com', 'img.example.com', $event->getUrl()));
}
}
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Bukashk0zzz\LiipImagineSerializationBundle\Annotation as Bukashk0zzz;
use Symfony\Component\HttpFoundation\File\File;
/**
* User Entity
*
* @ORM\Table(name="users")
* @ORM\Entity()
*
* @Vich\Uploadable
* @Bukashk0zzz\LiipImagineSerializableClass
*/
class User
{
/**
* @var string $coverUrl Cover url
*
* @ORM\Column(type="string", length=255)
*
* @JMS\Expose
* @JMS\SerializedName("cover")
*
* @Bukashk0zzz\LiipImagineSerializableField("thumb_filter")
*/
public $coverUrl;
/**
* @var string $photoName Photo name
*
* @ORM\Column(type="string", length=255)
*
* @JMS\Expose
* @JMS\SerializedName("photo")
*
* @Bukashk0zzz\LiipImagineSerializableField("thumb_filter", vichUploaderField="photoFile")
*/
public $photoName;
/**
* @var File $photoFile Photo file
*
* @JMS\Exclude
*
* @Vich\UploadableField(mapping="user_photo_mapping", fileNameProperty="photoName")
*/
public $photoFile;
}