<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 21 May 2013 07:34:38 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DeveloperDrive.com: 5 PHP Security Measures]]></title>
      <guid>http://www.phpdeveloper.org/news/18187</guid>
      <link>http://www.phpdeveloper.org/news/18187</link>
      <description><![CDATA[<p>
On the DeveloperDrive.com site today there's a new post with <a href="http://www.developerdrive.com/2012/07/5-php-security-measures/">five easy steps</a> you can take to help increase the security of your PHP-based applications.
</p>
<blockquote>
For many years, PHP has been a stable, inexpensive platform on which to operate web-based applications. Like most web-based platforms, PHP is vulnerable to external attacks. Developers, database architects and system administrators should take precautions before deploying PHP applications to a live server. Most of these techniques can be accomplished with a few lines of code or a slight adjustment to the application settings.
</blockquote>
<p>
The five tips they list range from general "best practice" kinds of things to a bit more specific:
</p>
<ul>
<li>Manage Setup Scripts
<li>Include Files (using ".php" not ".inc")
<li>MD5 vs. SHA
<li>Automatic Global Variables (no longer an issue in recent releases, 5.4.x)
<li>Initialize Variables and Values
</ul>]]></description>
      <pubDate>Thu, 05 Jul 2012 12:02:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Allen's Blog: Access view variables in another view model]]></title>
      <guid>http://www.phpdeveloper.org/news/17770</guid>
      <link>http://www.phpdeveloper.org/news/17770</link>
      <description><![CDATA[<p>
In <a href="http://akrabat.com/zend-framework-2/access-view-variables-in-another-view-model/">this new post</a> to his blog <i>Rob Allen</i> shows you how to access the view variables from another ViewModel.
</p>
<blockquote>
Unlike Zend Framework 1, the view layer in Zend Framework 2 separates the variables assigned to each view model. This means that when you are in the layout view script, you don't automatically have access to variables that were assigned the the action's view model and vice versa.
</blockquote>
<p>
He includes snippets of code with an example controller and a sample view that fetches a value from a child ViewModel instance. He also shows how to access layout and configuration values in the view.
</p>]]></description>
      <pubDate>Tue, 03 Apr 2012 12:53:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara's Blog: PHP's Source Code For PHP Developers - Part 3 - Variables]]></title>
      <guid>http://www.phpdeveloper.org/news/17711</guid>
      <link>http://www.phpdeveloper.org/news/17711</link>
      <description><![CDATA[<p>
The third part of the "PHP source for developers" series has been posted over on <i>Anthony Ferrara</i>'s blog today looking at <a href="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html">the variables PHP's internals use</a>.
</p>
<blockquote>
In this third post of the PHP's Source Code for PHP Developers series, we're going to expand on the prior posts to help understand how PHP works internally.  In the first post of the  series, we looked at how to view PHP's source code, how it's structured as well as some basic C pointers for PHP developers.  The second post introduced functions into the mix.  This time around, we're going to dive into one of the most useful structures in PHP: variables.
</blockquote>
<p>
He starts with one of the most important variable types used in PHP's source - the ZVAL. This is one of the keys to PHP's loose typing and can be thought of as "a class with only public properties". He gets into more detail with the properties of this "class" (value, refcount__gc, type and is_ref__gc). Also included is a look at how it's actually used - creating new ones, getting the value of them, converting their types and how the internal PHP functions parse their variables.
</p>
<p>
There's a lot more covered about variables in <a href="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html">the post</a> so if this is interesting stuff to you, be sure to read it all. They've done a great job of explaining one of the more complicated parts of the internals that power PHP.
</p>]]></description>
      <pubDate>Thu, 22 Mar 2012 08:30:45 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Using Nested Views with CodeIgniter]]></title>
      <guid>http://www.phpdeveloper.org/news/12269</guid>
      <link>http://www.phpdeveloper.org/news/12269</link>
      <description><![CDATA[<p>
The "Introduction to CodeIgniter" series continues on DevShed with <a href="http://www.devshed.com/c/a/PHP/Using-Nested-Views-with-CodeIgniter/">this new article</a>, a look at nested views in their sample application.
</p>
<blockquote>
In this third chapter of the series I'm going to discuss one that bases its functionality on the loader class that comes bundled with CI. [...] By means of this method, it is very simple to replace in one single step all the variables included into multiple views with actual data. Therefore, in the next few lines I'm going to discuss how to use it to generate a dynamic web document, which will display some database contents.
</blockquote>
<p>
After a quick review of loading views sequentially, they look at the new stuff - a "<a href="http://www.devshed.com/c/a/PHP/Using-Nested-Views-with-CodeIgniter/2/">master view</a>" that can load multiple other views inside. To pass information into this master view, they use the "$this->load->vars()" method included in the framework.
</p>]]></description>
      <pubDate>Fri, 03 Apr 2009 07:56:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Debuggable Blog: Passing controller variables to your JavaScript]]></title>
      <guid>http://www.phpdeveloper.org/news/10909</guid>
      <link>http://www.phpdeveloper.org/news/10909</link>
      <description><![CDATA[<p>
<i>Felix Geisendorfer</i> <a href="http://www.debuggable.com/posts/passing-controller-variables-to-your-javascript:48b4f0c6-c718-47b2-bca1-05794834cda3">shares another helpful tip</a> for CakePHP users out there - this time dealing with controller variables and Javascript.
</p>
<blockquote>
If your application requires JavaScript in order to work than you have probably been looking for an efficient way to pass CakePHP controller variables to your scripts. I already mentioned this technique in <A href="http://debuggable.com/posts/with-jquery-cakephp-to-world-domination-slides:480f4dd6-7cb8-4e84-af4f-4dc6cbdd56cb">my talk at CakeFest</a> this year, but here is the full explanation.
</blockquote>
<p>
His method sets up a new function in the controller that automatically pushes PHP arrays out to a Javascript block in your application's layout. The widget system makes it a simple process.
</p>]]></description>
      <pubDate>Wed, 27 Aug 2008 11:15:57 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebReference.com: The Building Blocks: Data Types, Literals, Variables, and Constants - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/7139</guid>
      <link>http://www.phpdeveloper.org/news/7139</link>
      <description><![CDATA[<p>
WebReference.com has posted <a href="http://www.webreference.com/programming/php/by_example2/index.html">part two in a series</a> looking at the "building blocks" that make up PHP and its use. This time, it's a look at the containers for your data - the data types, literals, variables, and constants.
</p>
<p>
They go through each, explaining what they are, how they're used and when you'd want to use them in your code. They explain the data types and how those fit with each "container" and some basic things like valid names and how to assign things correctly.
</p>
<p>
They even get <a href="http://www.webreference.com/programming/php/by_example2/index.html">get into</a> working with variables from GET and POST requests as well as working with the scope of variables and getting the metadata about them (is it an integer? is it empty?)
</p>]]></description>
      <pubDate>Mon, 22 Jan 2007 09:52:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Moon's Blog: Initializing & typing variables with settype()]]></title>
      <guid>http://www.phpdeveloper.org/news/6269</guid>
      <link>http://www.phpdeveloper.org/news/6269</link>
      <description><![CDATA[<p>
In <a href="http://doughboy.wordpress.com/2006/09/14/initializing-typing-variables-with-settype/">his latest post</a>, <i>Brian Moon</i> talks about a method to help you and your code fit into an E_STRICT style of coding - the <a href="http://www.php.net/settype">settype function</a>.
</p>
<blockquote>
These days, the way to develop is to have E_ALL and maybe even throw in E_STRICT if you are really hard core. That of course means having all your variables initialized before they are used.
</blockquote>
<p>
In <a href="http://doughboy.wordpress.com/2006/09/14/initializing-typing-variables-with-settype/">his view</a>, defining them is good, but it's more "elegant" to use the settype function to make it more clear where they are defined. He also includes a function, using settype, that ensures that the entered values are what they should be (i.e. and int is an int).
</p>]]></description>
      <pubDate>Thu, 14 Sep 2006 07:01:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[International PHP Magazine: Poll Question: What is the Top Criterion for Scaling PHP?]]></title>
      <guid>http://www.phpdeveloper.org/news/6185</guid>
      <link>http://www.phpdeveloper.org/news/6185</link>
      <description><![CDATA[<p>
The International PHP Magazine has <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,26280,nodeid,5.html">posted the results</a> of the question asked in their latest poll - "What is the Top Criterion for Scaling PHP?"
</p>
<p>
Of the six options they provided:
<ul>
<li>Object code caching
<li>Template systems
<li>Distributed object-caching systems
<li>PHP variables that can be set
<li>Output Compression
<li>Other things that may help
</ul>
one stood out as a clear winner - "Object code caching". Bringing up second place was "Distributed object-caching systems" and the other options coming in pretty close behind.
</p>
<p>
Be sure to cast your vote for their <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,26283,nodeid,5.html">latest poll question</a> - "Which is the Most Common Database Problem?"
</p>]]></description>
      <pubDate>Thu, 31 Aug 2006 10:41:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[KillerPHP.com: Two New Video Tutorials Posted]]></title>
      <guid>http://www.phpdeveloper.org/news/5975</guid>
      <link>http://www.phpdeveloper.org/news/5975</link>
      <description><![CDATA[<p>
In a continuing series of introductory video tutorials they offer, KillerPHP has posted to new ones - one covering <a href="http://www.killerphp.com/articles/php-video-associative-arrays/">associative arrays</a> and the other covering <a href="http://www.killerphp.com/articles/php-video-indexed-arrays/">indexed arrays<a>.
</p>
<p>
The videos, <a href="http://www.killerphp.com/articles/category/php-videos/">seven in all now</a> are done with a voice-over talking about what the feature is and includes bits of code to help explain the discussion.
</p>
<p>
Topics so far include:
<ul>
<li><a href="http://www.killerphp.com/articles/php-includes/">Includes</a>
<li><a href="http://www.killerphp.com/articles/php-video-configuring-wamp/">Configuring WAMP</a>
<li>PHP Variables, <a href="http://www.killerphp.com/articles/php-variables-video/">Part 1</a> and <a href="http://www.killerphp.com/articles/php-variables-part-2/">Part 2</a>
</ul>
</p>
<p>
You can get complete information on these screencasts from <a href="http://www.killerphp.com/articles/category/php-videos/">the KillerPHP site</a>.
</p>]]></description>
      <pubDate>Tue, 08 Aug 2006 05:53:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sara Golemon's Blog: Compiled Variables]]></title>
      <guid>http://www.phpdeveloper.org/news/5441</guid>
      <link>http://www.phpdeveloper.org/news/5441</link>
      <description><![CDATA[<p>
In a <a href="http://blog.libssh2.org/index.php?/archives/21-Compiled-Variables.html">new post</a> from her blog today, <i>Sara Golemon</i> seeks to dispell any FUD that might come up surrounding compiled variables (as there's already some issues raised in <a href="http://podcast.phparch.com/main/index.php/episodes:20060519">this interview</a>).
</p>
<quote>
<i>
<p>
Last month at php|tek I gave a presentation on "How PHP Ticks" where I covered, among other things the process of compiling source code into opcodes (an intermediate psuedo-language similar to what java calls "bytecode" or what .NET calls "MSIL"). As part of this section of the presentation, I showed one of the more interresting changes between ZE 2.0 (PHP 5.0) and ZE 2.1 (PHP 5.1), namely: How variables are retreived and used in an operation. More specifically, how they provide a small, yet cumulative, speedup to applications in a way that's transparent to the end-user -- One more reason to like PHP 5.1 right?
</p>
<p>
After listening to Marcus Whitney's <a href="http://podcast.phparch.com/main/index.php/episodes:20060519">interview with Brion Vibber of WikiMedia</a> in which he mentions my presentation and makes reference to this engine change, I realized that I should clarify what this feature is (and more importantly, what it isn't) before any FUD spreads.
</p>
</i>
</quote>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/21-Compiled-Variables.html">describes</a> what they are with an illustration using a simple PHP script and breaking it out into the compiled version's parts - both in PHP4 and the PHP5 versions. Of course, representing what they are needs a flipside, so she presents a look at what they are *not* as well. There's also a brief mention of the special status that globals and static variables get outside the norm.
</p>]]></description>
      <pubDate>Wed, 24 May 2006 17:39:32 -0500</pubDate>
    </item>
  </channel>
</rss>
