Skip to content

Instantly share code, notes, and snippets.

View frankmayer's full-sized avatar
🌱
Focusing

Frank Mayer frankmayer

🌱
Focusing
View GitHub Profile
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ipsum ante, vestibulum et magna nec, interdum sagittis augue. Suspendisse ultricies varius massa, suscipit auctor lectus mattis sed. Ut blandit consectetur erat id euismod. Nam vulputate egestas lacus at tincidunt. Proin a sem gravida, tincidunt neque eget, fermentum sapien. Cras vitae eros bibendum, blandit elit ac, egestas nisi. Proin eget augue interdum, auctor metus at, dictum nulla. Ut eget elit consectetur, finibus felis sed, lobortis nulla. Suspendisse imperdiet, mi sed interdum commodo, lorem libero sollicitudin eros, in venenatis felis est et arcu. Vivamus id turpis purus. Nunc consectetur aliquam velit, id faucibus est bibendum nec. Pellentesque condimentum, neque vitae blandit porttitor, sem sem suscipit nulla, in semper eros magna at sapien. Proin gravida est et sem venenatis auctor. Phasellus sollicitudin mi et imperdiet euismod. Mauris tristique consequat purus, id venenatis massa sodales a. Mauris aliquam leo et ex varius vehicula.
<?php
/**
* @package Joomla.Language
*
* @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use \Joomla\String\StringHelper;
<?php
/**
* @package Joomla.Plugin
* @subpackage System.Overrides
*
* @copyright Copyright (C) 2012 Don Gilbert. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
define('OVERRIDES', dirname(__FILE__).'/overrides');

Why objects (usually) use less memory than arrays in PHP

This is just a small post in response to [this tweet][tweet] by Julien Pauli (who by the way is the release manager for PHP 5.5). In the tweet he claims that objects use more memory than arrays in PHP. Even though it can be like that, it's not true in most cases. (Note: This only applies to PHP 5.4 or newer.)

The reason why it's easy to assume that objects are larger than arrays is because objects can be seen as an array of properties and a bit of additional information (like the class it belongs to). And as array + additional info > array it obviously follows that objects are larger. The thing is that in most cases PHP can optimize the array part of it away. So how does that work?

The key here is that objects usually have a predefined set of keys, whereas arrays don't:

<?php
class DemoSubject implements SplSubject{
private $observer, $value;
public function __construct(){
$this->observers = array();
}
@frankmayer
frankmayer / rpc-consumer.php
Created August 19, 2013 11:30
Consumer and producer files for blog post : http://bit.ly/14SaWpp
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPConnection;
use PhpAmqpLib\Message\AMQPMessage;
define('AMQP_DEBUG_FM', true);
$host = '127.0.0.1';
//$host = '192.168.2.3';
@frankmayer
frankmayer / AbstractConnection.php
Last active December 21, 2015 06:29
FIles for testing strange performance difference between Linux and Windows
<?php
namespace PhpAmqpLib\Connection;
use PhpAmqpLib\Channel\AbstractChannel;
use PhpAmqpLib\Channel\AMQPChannel;
use PhpAmqpLib\Exception\AMQPProtocolConnectionException;
use PhpAmqpLib\Exception\AMQPRuntimeException;
use PhpAmqpLib\Exception\AMQPTimeoutException;
use PhpAmqpLib\Helper\MiscHelper;
@frankmayer
frankmayer / truck.md
Last active December 10, 2015 09:59 — forked from hjr3/truck.md

Examples of HAL+json API calls for a truck

Get Trucks

GET /trucks HTTP/1.1
Host: api.example.com
Authorization: Basic username:password
Accept: application/vnd.hal+json