1. Go to this page and download the library: Download c975l/user-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/ */
c975l / user-bundle example snippets
//Your Entity file i.e. src/App/Entity/User.php
namespace App\Entity;
use c975L\UserBundle\Entity\UserAbstract;
class User extends UserAbstract
{
//Add your properties and methods
}
//Your own form i.e. src/App/Form/UserProfileType
namespace App\Form;
use c975L\UserBundle\Form\UserProfileType as BaseProfileType;
class UserProfileType extends BaseProfileType
{
//Builds the form
public function buildForm(FormBuilderInterface $builder, array $options)
{
//You can use the following to disable/enable fields
$disabled = $options['data']->getAction() == 'modify' ? false : true;
//Add the fields you need
}
public function getParent()
{
return 'c975L\UserBundle\Form\UserProfileType';
}
public function getBlockPrefix()
{
return 'app_user_profile';
}
}
namespace App\Listener;
use c975L\UserBundle\Entity\UserAbstract;
use c975L\UserBundle\Event\UserEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\User\UserInterface;
class UserDeleteListener implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return array(
UserEvent::USER_DELETE => 'userDelete',
);
}
public function userDelete($event)
{
$user = $event->getUser();
if ($user instanceof UserInterface) {
//Do your stuff...
//Use the following is you want to stop propagation of the Event, any following instructions will be stopped
//$event->stopPropagation();
}
}
}
//Within a controller
use c975L\UserBundle\Service\UserServiceInterface;
public function yourAction(UserServiceInterface $userService)
{
//With Id
$user = $userService->findUserById(USER_ID);
//With Email
$user = $userService->findUserByEmail(USER_EMAIL);
//With Identifier
$user = $userService->findUserByIdentifier(USER_IDENTIFIER);
//With SocialId
$user = $userService->findUserBySocialId(USER_SOCIAL_ID);
}
//In a Controller file
return $this->redirectToRoute('user_signin', array('_target_path' => 'THE_ABSOLUTE_OR_RELATIVE_URL_TO_REDIRECT_TO'));
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\User\UserInterface;
class UserListener implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return array(
UserEvent::API_USER_EXPORT => 'userApiExport',
);
}
public function userApiExport($event)
{
$response = null;
$user = $event->getUser();
if ($user instanceof UserInterface) {
$userFormattedData = array();
$response = new Response(json_encode($userFormattedData));
$response->headers->set('Content-Type', 'application/json');
}
$event
->setResponse($response)
->stopPropagation()
;
}
}
bash
php bin/console assets:install --symlink
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.