PHP code example of netliva / symfony-fast-search-table
1. Go to this page and download the library: Download netliva/symfony-fast-search-table 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/ */
netliva / symfony-fast-search-table example snippets
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Netliva\SymfonyFastSearchBundle\NetlivaSymfonyFastSearchBundle(),
);
// ...
}
// ...
}
namespace App\DefaultBundle\EventListener\FastTableSubscriber;
use App\DefaultBundle\Entity\Users;
use Netliva\SymfonyFastSearchBundle\Events\BeforeViewEvent;
use Netliva\SymfonyFastSearchBundle\Events\NetlivaFastSearchEvents;
use Netliva\SymfonyFastSearchBundle\Events\PrepareRecordEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class FastTableSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents ()
{
return [
NetlivaFastSearchEvents::PREPARE_RECORD => 'prepareRecord',
NetlivaFastSearchEvents::BEFORE_VIEW => 'beforeView',
];
}
public function prepareRecord (PrepareRecordEvent $event)
{
$entity = $event->getEntity(); // kaydedilecek ilgili entity
$fKey = $event->getFKey(); // kaydedilecek field ley
$entityKey = $event->getEntityKey(); // kayıt yapılacak tablo tanımı
$value = $event->getValue(); // kaydedilecek veri
switch ($entityKey)
{
case 'user_table': // hangi tablo tanımlaması için işlem yapılacağının seçilmesi
if ($entity instanceof Users) // gelen verinin bu tabloaya ait entitiy'e mi ait olduğunun kontrolü
{
switch ($fKey)
{
case 'age' :
$value = $entity->getBirthday() ? $entity->getBirthday()->diff(new DateTime())->y : '---';
break;
}
}
break;
}
// değiştirilen veriyi kaydediyoruz
$event->setValue($value);
}
public function beforeView (BeforeViewEvent $event)
{
// gerektiğinde filtre verileri gibi post edilen verileri alabilirsiniz
$postedData = $event->getRequests();
// listelenecek verileri döndürüyoruz
foreach ($event->getRecords() as $key => $record)
{
switch ($event->getEntityKey())
{
// düzenleme yapacağımız tabloyu belirliyoruz
case 'user_table':
// gelen oluşturma tarihi verisini, okunabilir tarih formatına çevirerek yeni bir değişken ile vue template'e gönderiyoruz
$record['createAtText'] = $record['createAt']?(new \DateTime($record['createAt']))->format('d.m.Y H:i'):null;
$event->updateRecord($key, $record);
break;
}
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.