<?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>Wed, 23 May 2012 11:50:57 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Konr Ness' Blog: Zend_Config Benchmark - JSON, Array, INI, XML, YAML]]></title>
      <guid>http://www.phpdeveloper.org/news/17647</guid>
      <link>http://www.phpdeveloper.org/news/17647</link>
      <description><![CDATA[<p>
In <a href="http://konrness.com/php5/zend_config-benchmark-json-array-ini-xml-yaml/">this recent post</a> to his blog, <i>Konr Ness</i> has benchmarked the components that the Zend Framework uses to read in different types of configuration files - JSON, native PHP arrays, INI, XML and YAML files.
</p>
<blockquote>
If you application relies on parsing one or several config files each time it is bootstrapped it is important that you select a file format that is fast to parse. But you also want to select a config file format that is easy for a human to read and edit. In a recent application I am building I also had the need to write modifications to config files, so I also benchmarked the Zend_Config_Writer components.
</blockquote>
<p>
He includes both the sample configuration INI file and the benchmarking script he used to measure the results (all configurations were read from external files, even the native PHP option). His results were pretty predictable (with the exception of YAML reading) with the standard INI file coming in second to the native PHP arrays, but having the advantage of being more readable.
</p>]]></description>
      <pubDate>Thu, 08 Mar 2012 11:51:32 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Back to Basics: Managing PHP Configuration php.ini Directives]]></title>
      <guid>http://www.phpdeveloper.org/news/16688</guid>
      <link>http://www.phpdeveloper.org/news/16688</link>
      <description><![CDATA[<p>
<i>Jason Gilmore</i> gets "back to basics" in a new tutorial with a look at <a href="http://www.phpbuilder.com/columns/php-directives/Jason_Gilmore08032011.php3">managing configuration in your ini file</a> to tune it to just what you need.
</p>
<blockquote>
While PHP's configuration capabilities are indeed powerful, the sheer breadth and different ways in which these configuration directives can be set are often confusing and downright intimidating to newcomers. So in this article it worth meandering from the typically intermediate-level discussion and instead offer some insight into PHP's configuration-specific infrastructure.
</blockquote>
<p>
He starts by mentioning the <a href="http://php.net/phpinfo">phpinfo</a> function that generates the complete list of current settings for your installation. With that in hand and an idea of what settings are out there, he starts going through some of the basics of working with ini settings - updating the php.ini, setting values via a .htaccess file and chancing them directly in the executing script.
</p>]]></description>
      <pubDate>Mon, 08 Aug 2011 13:16:03 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Allen's Blog: Zend_Config_Ini and a string]]></title>
      <guid>http://www.phpdeveloper.org/news/16499</guid>
      <link>http://www.phpdeveloper.org/news/16499</link>
      <description><![CDATA[<p>
In a new post today <i>Rob Allen</i> shows a method you can drop into your Zend Framework application to <a href="http://akrabat.com/zend-framework/zend_config_ini-and-a-string/">allow Zend_Config_Ini to take in a string</a> instead of being restricted to loading a file.
</p>
<blockquote>
With PHP 5.3 however there is is a new function called <a href="http://php.net/parse_ini_string">parse_ini_string()</a> which will allow us to load arbitrary ini string into Zend_Config objects. This can't go into Zend Framework 1 though due to our PHP 5.2.4 minimum version requirement. As I needed this for a project, I extended Zend_Config_Ini to support this feature, which means simply overloading a single method.
</blockquote>
<p>
He includes the code for the method - the App_Config_Ini class that includes a _parseIniFile method that checks to see if the last four characters of the input value are ".ini". If so, it loads like normal. If not, it assumes it's a configuration string and parses it with the new parse_ini_string method. 
</p>]]></description>
      <pubDate>Tue, 21 Jun 2011 12:30:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso's Blog: Using PHP classes to store configuration data]]></title>
      <guid>http://www.phpdeveloper.org/news/15711</guid>
      <link>http://www.phpdeveloper.org/news/15711</link>
      <description><![CDATA[<p>
<i>Gonzalo Ayuso</i> has <a href="http://gonzalo123.wordpress.com/2011/01/10/using-php-classes-to-store-configuration-data/">a new post</a> to his blog today looking at how he uses PHP classes to store configuration information for easier retrieval.
</p>
<blockquote>
In my last projects I'm using something I think is useful and it's not a common practice in our PHP projects. That's is the usage of a plain PHP's class for the application's configuration. Let me explain it. Normally we use ini file for configuration. [...] There are many standard options. Why I prefer a different one then? I like plain PHP classes because the IDE helps me with autocompletion. The usage is quite simple. 
</blockquote>
<p>
His example uses a standard class to store the configuration values, one that can be loaded into a project and lets you call the configuration values statically. He gives <a href="http://gonzalo123.files.wordpress.com/2011/01/netbeans.png">two</a> <a href="http://gonzalo123.files.wordpress.com/2011/01/vim.png">examples</a> of how this is helpful in a standard IDE with autocompletion.
</p>]]></description>
      <pubDate>Mon, 10 Jan 2011 11:57:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Moon's Blog: Using ini files for PHP application settings]]></title>
      <guid>http://www.phpdeveloper.org/news/13875</guid>
      <link>http://www.phpdeveloper.org/news/13875</link>
      <description><![CDATA[<p>
In <a href="http://brian.moonspot.net/using-ini-files-for-php-application-settings">a new post</a> to his blog <i>Brian Moon</i> looks at a handy piece of functionality that comes with the default PHP installations (and is used by several major frameworks <a href="http://framework.zend.com">like this one</a>) - using INI files to store settings for an application.
</p>
<blockquote>
One of the challenges of this [three tier server setup] is where and how to store the connection information for all these services. We have done several things in the past. The most common thing is to store this information in a PHP file. [...] We have taken [it] one step further using some PHP ini trickeration. We use ini files that are loaded at PHP's startup and therefore the information is kept in PHP's memory at all times.
</blockquote>
<p>
They use the <a href="http://php.net/get_cfg_var">get_cfg_var</a> function and the "--with-config-file-scan-dir" option to tell PHP to automatically load in the ini files it finds in the named directory. He gives an example of both a simple configuration and a more complex situation where a MySQL instance can read from the ini file containing the username/password/host information.
</p>]]></description>
      <pubDate>Wed, 20 Jan 2010 10:40:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage's Blog: Custom Apps: Some Strategies For Easy Configuration Files]]></title>
      <guid>http://www.phpdeveloper.org/news/13229</guid>
      <link>http://www.phpdeveloper.org/news/13229</link>
      <description><![CDATA[<p>
In <a href="http://www.brandonsavage.net/custom-apps-some-strategies-for-easy-configuration-files/">this new post</a> to his blog today <i>Brandon Savage</i> looks at configuration options for PHP apps and gives some examples to help you get the thought process started for your development.
</p>
<blockquote>
One of the decisions that has to be made each time an application is written for distribution is how best to set up the configuration files. There are a number of different approaches taken to this: some opt to use the define() function and define constants, while others use large arrays. 
</blockquote>
<p>
He points out a few "overlooked options" that some developers might no consider when working with configuration files like class constants and ini files (which PHP can <a href="http://us.php.net/manual/en/function.parse-ini-file.php">parse natively</a>). A few code snippets are included to show examples of them in use.
</p>]]></description>
      <pubDate>Wed, 16 Sep 2009 07:59:02 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Joe Topjian's Blog: My Zend_Acl Implementation]]></title>
      <guid>http://www.phpdeveloper.org/news/12023</guid>
      <link>http://www.phpdeveloper.org/news/12023</link>
      <description><![CDATA[<p>
In <a href="http://joe.topjian.net/development/my-zend_acl-implementation.html">this recent post</a> to his blog <i>Joe Topjian</i> takes a look at something that has been known to confuse Zend Framework users when trying to set up access control for their application - using the <a href="http://framework.zend.com/manual/en/zend.acl.html">Zend_Acl</a> component.
</p>
<blockquote>
It seems everyone, myself included, has a bit of a hard time first grasping <a href="http://framework.zend.com/manual/en/zend.acl.html">Zend_Acl</a>. For the time being, I've settled on a simple solution. It's party based on the solution given in the <a href="http://www.manning.com/allen/">Zend Framework in Action book</a>. I hope you get some use out of it.
</blockquote>
<p>
<a href="http://joe.topjian.net/development/my-zend_acl-implementation.html">His example</a> uses the Zend_Config component to configure his roles and a more centralized approach to validating access for the users - more rules in the INI config file and a custom MyACL class/AclHelper tat are called from the bootstrap file to evaluate where the user can and cant go for each request.
</p>]]></description>
      <pubDate>Wed, 25 Feb 2009 13:45:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Make Me Pulse: Using the Zend Framework URL rewriting]]></title>
      <guid>http://www.phpdeveloper.org/news/11743</guid>
      <link>http://www.phpdeveloper.org/news/11743</link>
      <description><![CDATA[<p>
New from the Make Me Pulse blog is <A href="http://blog.makemepulse.com/2009/01/15/using-the-zend-framework-url-rewriting/">this quick tutorial</a> about bending the URL rewriting that the Zend Framework does to match whatever your needs might be.
</p>
<blockquote>
Today for a good website's referencement in Google, it's necessary to have an URL rewriting. [...] If your application is based on ZF, we have a htaccess base file which will redirect all php files to the boostrap (<a href="http://framework.zend.com/docs/quickstart/create-a-bootstrap-file">what is the bootstrap ?</a>), and ZF classes will manage all redirection rules. How to implement the URL rewriting with ZF classes ?
</blockquote>
<p>
He sets up a config file (an ini file) with the routing instructions the framework will need to adhere to and shows how to get the application to include it and match against it for routing rules. His example sets a default route and several regular expression-based routes to remap requests right where they need to go.
</p>]]></description>
      <pubDate>Thu, 15 Jan 2009 07:55:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPro.org: Application Configuration]]></title>
      <guid>http://www.phpdeveloper.org/news/11342</guid>
      <link>http://www.phpdeveloper.org/news/11342</link>
      <description><![CDATA[<p>
<i>Kevin Waterson</i> has posted <a href="http://www.phpro.org/articles/Application-Configuration.html">a new tutorial</a> today looking at a key part of any web application - the configuration settings and how they can be stored.
</p>
<blockquote>
PHP applications come in many shapes and sizes. Some used locally from command line, and more commonly, for web based applications. More often than not, regardless of size or type, some form of configuration variables will be stored for global access. [...] Each options has its pros and cons. Here each of these options is explored to see which method is right for your application. 
</blockquote>
<p>
He looks at four different options:
</p>
<ul>
<li>an ini file that can be parsed/modified directly by PHP
<li>an XML file slightly more complex, but still simple for PHP to use
<li>a PHP file with things like PHP arrays defining settings
<li>and a database with one or more configuration tables
</ul>
<p>
Each type comes with some example code and format to give you an idea of how they'd work.
</p>]]></description>
      <pubDate>Tue, 04 Nov 2008 12:09:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Esser's Blog: Suhosin Updates - Improved Randomness & LAZY Symbol Loading]]></title>
      <guid>http://www.phpdeveloper.org/news/10892</guid>
      <link>http://www.phpdeveloper.org/news/10892</link>
      <description><![CDATA[<p>
<i>Stefan Esser</i> has released a new update (really two, but one is the latest) to his <a href="http://www.suhosin.org/">Suhosin patch</a> for PHP - version 0.9.27.
</p>
<p>
The previous update (0.9.26) updated the utility with an improved randomness fixing a few issues with an ini setting and the uploadprogress extension as well as adding in a few new settings and updates to the randomizing functions that come included in PHP.
</p>
<p>
The 0.9.27 update (the most current) updates the patch with a lazy loading change that allows it to work correctly on systems that have it disabled by default (causing the previous patch to not work).
</p>
<p>
You can grab this latest release, 0.9.27, from <a href="http://www.suhosin.org/">the suhosin website</a>.
</p>]]></description>
      <pubDate>Mon, 25 Aug 2008 12:06:01 -0500</pubDate>
    </item>
  </channel>
</rss>

