More Related Content Similar to Symfony tips and tricks (20) Symfony tips and tricks4. /**
* @param Request $request
*
* @return JsonResponse
*/
public function getCandidateVisitAction(Request $request)
{
$candidateId = (int) $request->get('id');
$candidates = $this->getDoctrine()
->getRepository('EspeoCommonBundle:CandidateVisit')
->getVisitStatistics($candidateId);
return new JsonResponse($candidates);
}
5. /**
* @param Request $request
*
* @return JsonResponse
*/
public function getCandidateVisitAction(Request $request)
{
$candidateId = $request->query->getInt('id');
$candidates = $this->getDoctrine()
->getRepository('EspeoCommonBundle:CandidateVisit')
->getVisitStatistics($candidateId);
return new JsonResponse($candidates);
}
9. <?php
namespace DoctrineORMMapping;
interface NamingStrategy
{
function classToTableName($className);
function propertyToColumnName($propertyName, $className = null);
function referenceColumnName();
function joinColumnName($propertyName);
function joinTableName($sourceEntity, $targetEntity, $propertyName);
function joinKeyColumnName($entityName, $referencedColumnName = null);
}
17. public function testContainerServices()
{
$client = static::createClient();
foreach ($client->getContainer()->getServiceIds() as $serviceId) {
try {
$startedAt = microtime(true);
$service = $client->getContainer()->get($serviceId);
$elapsed = (microtime(true) - $startedAt) * 1000;
$this->assertLessThan(50, $elapsed);
} catch(InactiveScopeException $e) {
}
}
}
26. <?php
namespace EspeoCandidateBundleController;
use EspeoCandidateBundleServiceCalendarEventProvider;
use EspeoCommonBundleControllerController;
use EspeoCommonBundleEntityRepositoryCitiesRepository;
use JMSDiExtraBundleAnnotation as DI;
use SymfonyComponentSecurityCoreAuthenticationTokenStorageTokenStorage;
use SymfonyComponentTranslationTranslatorInterface;
class CalendarApiController extends Controller
{
/**
* @var CalendarEventProvider
* @DIInject("espeo_candidate.calendar_event_provider")
*/
private $calendarEventProvider;
/**
* @var TokenStorage
* @DIInject("security.token_storage")
*/
private $tokenStorage;
/**
* @var CitiesRepository
* @DIInject("espeo_common.cities_repository")
*/
private $citiesRepository;
}
27. <?php
class CalendarApiController extends Controller
{
/**
* @var CalendarEventProvider
* @DIInject("espeo_candidate.calendar_event_provider")
*/
private $calendarEventProvider;
/**
* @var TokenStorage
* @DIInject("security.token_storage")
*/
private $tokenStorage;
/**
* @var CityRepository
* @DIInject("espeo_common.city_repository")
*/
private $cityRepository;
}
29. use JMSDiExtraBundleAnnotation as DI;
class Controller
{
private $em;
private $session;
/**
* @DIInjectParams({
* "em" = @DIInject("doctrine.orm.entity_manager"),
* "session" = @DIInject("session")
* })
*/
public function __construct($em, $session)
{
$this->em = $em;
$this->session = $session;
}
}
40. var app = angular.module('my_module', [
'boxuk.translation'
]);
42. [[ ('errand.status.in_progress') | trans ]]
#src/Espeo/CommonBundle/Resources/translations/messages.pl.yml
errand:
status:
in_progress: W trakcie
closed: Zamknięte
canceled: Odwołany
new: Nowy