Skip to content

Instantly share code, notes, and snippets.

View Ocramius's full-sized avatar
🔬
In your repositories, watching your code. Always watching.

Marco Pivetta Ocramius

🔬
In your repositories, watching your code. Always watching.
View GitHub Profile
<?php
namespace BLAHBLAH\GraphLoader;
use Doctrine\Common\Persistence\Mapping\ClassMetadata;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\Instantiator\Instantiator;
use BLAHBLAH\Exception\UnexpectedValueException;
final class ArrayObjectGraphLoader implements ArrayObjectGraphLoaderInterface
--TEST--
Verifies that generated access interceptors disallow private property direct read
--FILE--
Fatal error: Cannot access private property Kitchen::$sweets in /Users/ocramius/Documents/Projects/ProxyManager/tmp/ProxyManagerGeneratedProxy__PM__KitchenGenerated8d074ecba2008676c49d352470371679.php on line 127
Call Stack:
0.0002 229992 1. {main}() /Users/ocramius/Documents/Projects/ProxyManager/tests/language-feature-scripts/access-interceptor-denies-private-property-read.phpt:0
0.0251 2178640 2. ProxyManagerGeneratedProxy\__PM__\Kitchen\Generated8d074ecba2008676c49d352470371679->__get() /Users/ocramius/Documents/Projects/ProxyManager/tests/language-feature-scripts/access-interceptor-denies-private-property-read.phpt:17
0.0252 2183680 3. ProxyManager\Stub\EmptyClassStub->ProxyManagerGeneratedProxy\__PM__\Kitchen\{closure}() /Users/ocramius/Documents/Projects/ProxyManager/tmp/ProxyManagerGeneratedProxy__PM__KitchenGenerated8d074ecba2008676c49d352470371679.php:132
@Ocramius
Ocramius / Doctrine2-hello-world.php
Created March 25, 2011 19:33
Doctrine 2 "Hello World" sample
<?php
/* ORM CONFIG HERE, LIKE IN SAMPLE BOOTSTRAP */
/** @var $em \Doctrine\ORM\EntityManager */
$em = Doctrine\ORM\EntityManager::create($options, $config);
$greeting = new Greeting();
$greeting->setGreeting('Hello World!');
$em->persist($greeting);
$greeting2 = new Greeting();
$greeting2->setGreeting('Hello again! This is another greeting!');
@Ocramius
Ocramius / Doctrine.php
Created April 18, 2011 08:58
Application_Model_Resource_Doctrine Doctrine2 EntityManager generator resource
<?php
class Application_Model_Resource_Doctrine extends Zend_Application_Resource_ResourceAbstract {
/**
*
* @var \Application_Model_Resource_Doctrine
*/
protected static $instance = null;
@Ocramius
Ocramius / Unique.php
Created April 25, 2011 14:04
Doctrine2 Zend_Validate_DbRecord_NotExists (Gamempire\Validate\Entity\Field\Unique) implementation
<?php
namespace Gamempire\Validate\Entity\Field;
/**
* Validates input entity field to check if it is unique
*
* @author Ocramius
*/
class Unique extends \Zend_Validate_Abstract {
@Ocramius
Ocramius / LockableFieldSubForm.php
Created July 15, 2011 16:14
A sample integration of Doctrine 2 and Zend_Form
<?php
namespace Deneb\Form;
/**
* Manages scalar fields of an entity
*/
class Entity extends ListDecorated {
const DEFAULT_DISPLAY_GROUP = 'default';
@Ocramius
Ocramius / Workers.php
Created October 30, 2011 17:43
[doctrine-user] Auto create date - annoation - Codeigniter 2 and Doctrine 2
<?php
namespace models;
/**
* @Entity
* @Table(name="workers")
* @HasLifecycleCallback
*/
class Workers {
/**
@Ocramius
Ocramius / CompiledDi.php
Created November 10, 2011 00:22
Exploring Zend\Di caching
<?php
namespace My\Di\Cache;
use Zend\Di\Di as ZendDi;
class CompiledDi extends ZendDi {
public function get($name, $params = array()) {
if($params) {
return parent::get($name, $params);
}
@Ocramius
Ocramius / Deneb\Session\SaveHandler.php
Created December 23, 2011 15:49
Session Savehandler based on Doctrine2
<?php
namespace Deneb\Session;
/**
* Manages sessions storage through \Doctrine\ORM\EntityManager
* @author Ocramius
*/
class SaveHandler implements \Zend_Session_SaveHandler_Interface {
const SESSION_ENTITY_NAME = 'Deneb\Entity\Session';
@Ocramius
Ocramius / SessionAwarePaginator.php
Created January 2, 2012 10:21
A simple Zend_Paginator that is capable of storing the current page number into a session
<?php
/**
* Description
*
* @author Marco Pivetta <marco.pivetta@com2-gmbh.de>
*/
class SessionAwarePaginator extends Zend_Paginator {
const DEFAULT_SESSION_NS = 'SessionAwarePaginator';