Skip to content

Instantly share code, notes, and snippets.

@serapheem
serapheem / file.php
Created October 24, 2013 08:21
PHP - Generator of random string
<?php
/**
* Generates the random string specified length
* @param int $length
*
* @return string
*/
protected function getRandomString($length)
{
@serapheem
serapheem / databases.yml
Created September 13, 2013 09:37
Symfony - SQLite database connection
test:
doctrine:
param:
dsn: 'sqlite::memory:'
# dsn: 'mysql:host=localhost;dbname=clipkit_dev'
# dsn: 'sqlite:%SF_DATA_DIR%/test-doctrine.db'
statistic:
param:
dsn: 'sqlite::memory:'
tracking:
@serapheem
serapheem / config.yml
Created September 13, 2013 09:35
Symfony2 - SQLite database connection
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_sqlite
memory: true
# path: %kernel.cache_dir%/test-default.db
charset: UTF8
@serapheem
serapheem / gist:6423402
Created September 3, 2013 12:41
Selenium2 - Delay of assertions
<?php
testDisplay()
{
...
//I use 25000 for the timeout but anything else works too it depends on your loading page
$this->timeouts()->implicitWait(25000);
$this->assertContains('toto42', $this->source());
...
}
@serapheem
serapheem / WebTestCase.php
Created September 3, 2013 11:08
PHPUnit - Failed test listener
<?php
namespace ClipKit\Test;
/**
* Base class for the selenium tests
*
* @author Serhiy Hlushko <s.hlushko@gmail.com>
*/
abstract class WebTestCase extends \PHPUnit_Framework_TestCase
@serapheem
serapheem / SomeBundle.php
Created July 25, 2013 15:18
Doctrine 2 - Adding custom field type
<?php
// 1st solution
namespace SomeBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use Doctrine\DBAL\Types\Type;
class CormesClipkitTestBundle extends Bundle
{
@serapheem
serapheem / query_builder.php
Created July 24, 2013 07:14
Doctrine 2 - Using identifier of relation in DQL query
<?php
$qb = $this->get('doctrine.orm.entity_manager')->createQueryBuilder();
$qb->select('v.id')
->from('CormesClipkitApiBundle:Video', 'v')
->where('IDENTITY(v.user) in (?1)')
->setParameter(1, $coIds)
->setFirstResult(rand(0, $count - $resnum))
->setMaxResults($resnum);
$result = $qb->getQuery()->getResult();
@serapheem
serapheem / gist:6047537
Created July 21, 2013 04:58
Symfony2 - Using Assetic for asset management
Twig:
{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% stylesheets '@AcmeFooBundle/Resources/public/css/*' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
PHP:
@serapheem
serapheem / gist:6047536
Created July 21, 2013 04:57
Symfony2 - Rendering controller action from template
Twig:
{# app/Resources/views/base.html.twig #}
{# ... #}
<div id="sidebar">
{% render "AcmeArticleBundle:Article:recentArticles" with {'max': 3} %}
</div>
PHP:
@serapheem
serapheem / gist:6047532
Created July 21, 2013 04:55
Symfony2 - Linking to Assets
Twig:
<img src="{{ asset('images/logo.png') }}" alt="Symfony!" />
<link href="{{ asset('css/blog.css') }}" rel="stylesheet" type="text/css" />
PHP:
<img src="<?php echo $view['assets']->getUrl('images/logo.png') ?>" alt="Symfony!" />
<link href="<?php echo $view['assets']->getUrl('css/blog.css') ?>" rel="stylesheet" type="text/css" />