Skip to content

Instantly share code, notes, and snippets.

View settermjd's full-sized avatar

Matthew Setter settermjd

View GitHub Profile
@settermjd
settermjd / gist:5802655
Created June 18, 2013 04:19
Creating a nested SQL query with \Zend\Db\Sql
$select->where(array("ItemID" => (int)$itemId));
$select->where->and->nest
->like('FirstName', $inputFilter->getValue("searchCriteria") . "%")
->or->like('FirstName', "%" . $inputFilter->getValue("searchCriteria"))
->or->like('LastName', $inputFilter->getValue("searchCriteria") . "%")
->or->like('LastName', "%" . $inputFilter->getValue("searchCriteria")
);
@settermjd
settermjd / gist:6778757
Last active December 24, 2015 09:39
Handle Umlauts and other characters in DOMPDF
$pdf = new DOMPDF();
$pdf->load_html(utf8_decode($customtext));
@settermjd
settermjd / gist:6822388
Created October 4, 2013 07:47
A, rather elementary, way of finishing the current git flow feature
git flow feature finish $( git flow feature list | sed 's/^* //g' )
<?php
namespace Generic\Model;
use Zend\Db\Sql\Predicate\Predicate;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\Sql\Select;
class GenericTable
{
protected $tableGateway;
@settermjd
settermjd / GenericTableTest.php
Created November 6, 2013 21:19
A simple Zend Framework model class, used to build a set of unit tests with PHPUnit and Mockery.
<?php
namespace Generic\Model;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\Sql\Select;
class GenericTable
{
protected $tableGateway;
@settermjd
settermjd / GenericTableTest.php
Created November 6, 2013 21:22
Using Mockery with PHPUnit for creating mocks when testing a Zend Framework model class
<?php
namespace GenericTest\Model;
use Generic\Model\GenericTable;
use Generic\Model\Generic;
use Zend\Db\ResultSet\ResultSet;
use PHPUnit_Framework_TestCase;
use Zend\Db\Sql\Predicate\Predicate;
use Zend\Db\Sql\Select;
use \Mockery as m;
@settermjd
settermjd / where-mock.php
Last active December 29, 2015 01:58
I'm having trouble mocking "$select->where->greaterThanOrEqualTo" with Zend\Db\Sql. Hope someone can shed light on this.
/*
* Here's the function call.
* $searchCriteria is an instance of \Zend\InputFilter\InputFilter
*/
$select->where->greaterThanOrEqualTo(
"EventDate", new \Zend\Db\Sql\Expression(
"STR_TO_DATE('" . $searchCriteria->getValue("startDate") ."','%m-%d-%Y')"
)
);
@settermjd
settermjd / simple-tablegateway-class
Last active December 29, 2015 06:29
Rather basic TableGateway class
namespace MaltBlue\Model;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\Sql\Select;
class CountryDebtTable extends QuickSearchTable
{
protected $tableGateway;
public function __construct(TableGateway $tableGateway)
namespace MaltBlue\Model;
use Zend\InputFilter\Factory as InputFactory;
use Zend\InputFilter\InputFilter;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterInterface;
use MaltBlue\Filter\Float;
class CountryDebt implements InputFilterAwareInterface
{
public function getServiceConfig()
{
return array(
'CountryDebtTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$hydrator = new \MaltBlue\Hydrator\TableEntityMapper(array(
'CountryID' => 'countryId',
'DebtId' => 'debtId',
'DebtLevel' => 'debtLevel',
));