src/EventListener/ApplicationDeleteSubscriber.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\Main\Applications;
  4. use Symfony\Component\EventDispatcher\GenericEvent;
  5. class ApplicationDeleteSubscriber
  6. {
  7.     public function __invoke(GenericEvent $event)
  8.     {
  9.         $application $event->getSubject();
  10.         if($application instanceof Applications){
  11.             $this->rm('documents/'.$application->getId().'/');
  12.         }
  13.     }
  14.     
  15.     public function rm($dir)
  16.     {
  17.         if(is_dir($dir)) {
  18.             $it    = new \RecursiveDirectoryIterator$dir, \RecursiveDirectoryIterator::SKIP_DOTS );
  19.             $files = new \RecursiveIteratorIterator$it,\RecursiveIteratorIterator::CHILD_FIRST );
  20.             foreach ( $files as $file ) {
  21.                 if ( $file->isDir() ) {
  22.                     rmdir$file->getRealPath() );
  23.                 } else {
  24.                     unlink$file->getRealPath() );
  25.                 }
  26.             }
  27.             rmdir$dir );
  28.         }
  29.     }
  30. }