Skip to content

Instantly share code, notes, and snippets.

View settermjd's full-sized avatar

Matthew Setter settermjd

View GitHub Profile
@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 / 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',
));
@settermjd
settermjd / select-count.php
Created December 16, 2013 04:20
An example of using an SQL Expression in Zend\Db\Sql
/**
* First construct the Select object for the SQL query to run
*/
$select = new Select('tblusers');
$select->columns(array(
"recordCount" => new \Zend\Db\Sql\Expression("COUNT(*)")
));
/**
* Then execute the query, retrieving the first record, if available
@settermjd
settermjd / gist:8430918
Created January 15, 2014 04:46
A Zend Form created via annotations, modelling a very simple user record.
<?php
namespace MyApplication\Form;
use Zend\Form\Annotation;
/**
* @Annotation\Name("user")
* @Annotation\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty")
*/
@settermjd
settermjd / InsertTest.php
Last active February 8, 2016 08:49
The following test for Zend\Db\Sql\InsertTest fails. Yet I'd have thought it would pass.
<?php
$this->insert
->into('foo')
->columns(['col1', 'col2', 'col3'])
->values(['val1', 'val2', 'val3']);
$this->assertEquals(
'INSERT INTO foo ("col1", "col2", "col3") VALUES("val1", "val2", "val3")',
$this->insert->getSqlString(new TrustingSql92Platform())
);