News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Derick Rethans' Blog:
Collecting Garbage PHP's take on variables
August 31, 2010 @ 10:49:11

Derick Rethans is republishing an article series he wrote (originally for php|architect) about the garbage collection that is included with the PHP 5.3 releases. He kicks off the series with this first post introducing internal variable handling.

Before we start with the intricate details of PHP's new GC engine I will explain why it is actually needed. This, combined with an introduction how PHP deals with variables in general is explained in this first part of the column. The second part will cover the solution and some notes on the GC mechanism itself, and the third part covers some implications of the GC mechanism, as well as some benchmarks. But now first on to the introduction.

He introduces the concept of a "zval" - the container PHP uses internally to handle variables (along with its "is_ref" and "refcount" to tell the interpreter if it's a reference or not). He also shows how these relate to the variables you set in your applications as well as a mention of the xdebug_debug_zval function of XDebug to show how it's handled behind the scenes. He also shows how references are handled with accompanying images to show the flow. If you'd like more information on variable handling, Derick points to this article for more detail.

0 comments voice your opinion now!
garbage collection variable introduction zval reference xdebug


blog comments powered by Disqus

Similar Posts

Padraic Brady: Zephir Language: Write PHP Extensions The Easy Way (Without C) Part 1: Introduction

David Otton's Blog: Stupid PHP Tricks: Illegal Variable Names

SitePoint PHP Blog: Faster PHP Apps - Profile Your Code with Xdebug

PHPit.net: PHP on the command line

PHP F1: PHP Session Tutorial


Community Events





Don't see your event here?
Let us know!


interview unittest language threedevsandamaybe list introduction series framework symfony2 opinion code community release laravel refactor testing podcast install experience developer

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework