Query manipulation with open-close principle


Just a week ago I sat down in front of my computer and decided to try to create a common solution for injecting easy pagination. It’s an ordinary problem and I wouldn’t waste my time for doing it every time when I need to display more than 10 or 50 elements on the screen. So, as usually I started with installing Symfony2 and KnpPaginatorBundle, but after a couple of minutes I realized that the implementation can be more general than I assumed at the beginning. I could use the same design also for filtering or manipulating queries… Continue reading

Tremendously fast Magento

varnishMagento is one of the most popular PHP free e-commerce engines available on the market. It’s designed to handle and manage almost all of the common issues and features purposed for online shops, and just because of that the Magento became a really huge, heavy and slow tool.

Of course, its authors decided to create a custom cache system inside the framework, but it’s not as fast as it supposed to be. In our last project, an online shop viners.co.uk (developed in cooperation with chilid) the application could only handle several requests per second at the beginning, which is not a satisfying result when you know more details about expected website traffic- a few hundred users at once.

Based on our previous experience we decided to use Varnish as a main cashing system. We chose it because the lion’s share of the website consists of a static content, well… almost everything except for user’s basket, checkout, accounts and products availability.

Continue reading

Symfony2 Bootstrap CRUD bundle – 10% time in action

In XSolve each developer has 10% of his working time to create special projects and bring some innovative ideas into life. Most often we use that time to prepare open source bundles and you can find some of them at http://knpbundles.com/organization/xsolve-pl/profile . Please feel free to use them!

In this article I would like to present our brand new creation – Symfony2 Boostrap CRUD bundle and make it easy for you to implement it in your next assignment.
Continue reading

#phpconpl 2013!

Za nami czwarta już edycja PHPCon Poland – na konferencję zespół XSolve przybył tłumnie, warto więc podsumować to wydarzenie krótkim komentarzem.

Zacznijmy od kwestii związanych z logistyką i koordynacją eventu. Biorąc pod uwagę lokalizację naszej siedziby, miejsce konferencji – Szczyrk – jest dla nas rozwiązaniem komfortowym (choć zdajemy sobie sprawę, że nie dla wszystkich jest to tak samo wygodne) i cieszy nas wiadomość, że w przyszłym roku spotykamy się w tym samym miejscu.
Continue reading


904652_561852853888308_1909954971_oJuż w sobotę (19.10.2013) na wydziale Automatyki, Elektroniki i Informatyki Politechniki Śląskiej przy ul. Akademickiej 16 w Gliwicach odbędzie się w pełni otwarta konferencja SpreadIT. Podzielona została na trzy ścieżki – inżynieria oprogramowania, programowanie gier oraz tematyki miękkie. Z prezentacją make your project SOLID wystąpimy w pierwszej z nich o godzinie 14:30.
Continue reading

(English) xsolve-google-auth-bundle

Few days ago we released a first edition of xsolve-google-auth-bundle (you can fin it on GitHub) which is connecting google authorization and authentication with FOSUserBundle.

After installation you can define where users can sign in with google account and, if they do not exist in your database when new accounts would be created. Bundle allows to open an application for all users or only from specific domain.
Continue reading

Facebook fanpage feed

Last time I wrote an article about how to get last posts from facebook fan page to your website’s feed. Procedure of connecting website with facebook was little complicated and I tried to find one more way to handle this functionality, and really done this.

I have found new solution to provide this problem. Actually, Facebook shares a RSS feed from all available fanpages. Where did I found it? Of course, not in facebook developers page.
Continue reading