Skip to content

Instantly share code, notes, and snippets.

View settermjd's full-sized avatar

Matthew Setter settermjd

View GitHub Profile
@settermjd
settermjd / nginx owncloud config
Created September 3, 2014 09:34
A configuration of nginx for ownCloud (doesn't quite work yet)
server {
listen 80;
server_name owncloud.app
return 301 https://$server_name$request_uri; # enforce https
}
server {
listen 443 ssl;
server_name owncloud.app;
root /home/vagrant/owncloud;
@settermjd
settermjd / CustomSelectElementWithFormElementManager.php
Created April 22, 2014 12:27
A simple example of creating a custom select element, using the FormElementManager to handle the external dependencies.
<?php
/**
* Define the custom form element
*/
namespace Forecaster\Form\Element;
use Zend\Form\Element\Select;
use Zend\InputFilter\InputProviderInterface;
use Zend\Validator\Db\RecordExists;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
// IndexControllerFactory.php
namespace YourModule\Controller\Factory;
use Zend\ServiceManager\FactoryInterface,
Zend\ServiceManager\ServiceLocatorInterface,
Zend\ServiceManager\Exception\ServiceNotCreatedException,
YourModule\Controller\IndexController;
class IndexControllerFactory implements FactoryInterface
{
@settermjd
settermjd / compact-child-routes
Created April 2, 2014 14:37
Simple example of using child routes, using the Segment type, to keep a routing table in Zend Framework 2 simple and compact. For more information, check out http://www.masterzendframework.com/tutorial/child-and-segment-routes.
return array(
'router' => array(
'routes' => array(
'forecaster' => array(
'type' => 'Literal',
'options' => array(
'route' => '/forecaster',
'defaults' => array(
'__NAMESPACE__' => 'Forecaster\Controller',
'controller' => 'Forecaster',
@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 / 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
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',
));
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
{
@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)
@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')"
)
);