Doctrine with zf3 cache

Martin Zellerdoctrine, php, zf3 Leave a Comment

That’s the way how to use Zend Cache with Doctrine in Zend Framework 3. First do all doctrine settings and define a cache in your global.php: ‘doctrine’ => [ ‘connection’ => [ // default connection name ‘orm_default’ => [ ‘driverClass’ => ‘Doctrine\DBAL\Driver\PDOMySql\Driver’, ‘params’ => [ ‘host’ => ‘localhost’, ‘port’ => 3306, ‘user’ => ‘xxx’, ‘password’ => ‘xxx’, ‘dbname’ => ‘xxx’, …

php preg_replace problem with large files/strings – fails silently

Martin Zellerphp Leave a Comment

If you have a problem with preg_replace or other PCRE functions in php, because they fail  silently, without error message or other feedback, especially with large strings, then have a look at this php.ini setting: pcre.backtrack_limit For example, modify the value in your php script: [php] ini_set(‘pcre.backtrack_limit’, ‘100000000’); [/php] Just increase the default value of 1.000.000. Maybe you have to increase …

zf2 – translatePlural example with Poedit

Martin Zellerphp, zf2 1 Comment

I’d like to explain how to use the translatePlural method along with the Zend Framework 2. (I’m assuming that you have been configured Poedit and the Zend Framework so that it works with the normal translate method) The use of translatePlural is actually quite simple. Let us first look at the normal translate method: [php] echo $this->translate(‘example.key’); [/php] After parsing …

Subdomain based mobile versions in zf2 projects

Martin Zellerphp, zf2 Leave a Comment

A few weeks ago it was my job to extend an existing Zend Framework 2 project with a mobile version. The orderer wanted when calling mobile.example.com/path1 a for mobile clients optimized version of www.example.com/path1 should be delivered. Some mobile versions of pages should have only a changed layout, while others should provide additional content. These requirements (for requests with the …

zf2 – logger problems with the FirePhp/FireBug writer in a console request

Martin Zellerphp, zf2 Leave a Comment

In my  recent zf2 (zend framework 2.1) project module I defined a logger with a stream writer and a firephp writer. I am using the same module also for some console requests (Zend\Console). The problem I had was that the system complains of the firephp logger when I did a console request: [plain] ====================================================================== The application has thrown an exception! …

zf2, doctrine module and expressions (like ‘IS NOT NULL’)

Martin Zellerdoctrine, php, zf2 Leave a Comment

Currently I am working on a migration of a zend framework 1 project to zf2 (zend framework 2). Furthermore I want to introduce Doctrine to the project. There are some useful articles about installing and using the zf2 doctrine module. After some hours I found out how to use modules and Doctrine in zf2. Sometimes you will have code like …

Pdf thumbnails / Pdf to jpg

Martin Zellerphp 2 Comments

Do you want to create thumbnails for pdf files with PHP (or C#)? You can simply do this with ghostscript. Here’s the php way (it is very easy to convert this code to C#): First install ghostscript on your server. Download: http://ghostscript.com/releases/ Then write your code: [php]$pathToPdf = "C:\….\PdfFile.pdf"; $pathToJpg = "C:\….\generatedThumbnail.jpg"; $gsCall = "\"C:\….\gs\gs8.70\bin\gswin32.exe\" -q -dBATCH -dMaxBitmap=300000000 -dNOPAUSE -dSAFER …

Zend_Captcha, an example without Zend_Form

Martin Zellerphp 2 Comments

Here is your example how to implement Zend_Captcha_Image without using Zend_Form. In your action method: [php]public function indexAction() { //… $captcha = new Zend_Captcha_Image(); $captcha->setImgDir(APPLICATION_PATH . ‘/../public/tmp/captcha/’); $captcha->setImgUrl($this->view->baseUrl(‘/tmp/captcha/’)); $captcha->setFont(APPLICATION_PATH . ‘/fonts/elephant.ttf’); $captcha->setWidth(350); $captcha->setHeight(150); $captcha->setWordlen(5); $captcha->setFontSize(70); $captcha->setLineNoiseLevel(3); $captcha->generate(); $this->view->captcha = $captcha;   // giving captcha object to the view //… }[/php] In the corresponding view render the captcha and add a hidden …