<?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>Fri, 24 May 2013 15:42:21 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Symfony Blog: New in Symfony 2.3: Small things matter]]></title>
      <guid>http://www.phpdeveloper.org/news/19608</guid>
      <link>http://www.phpdeveloper.org/news/19608</link>
      <description><![CDATA[<p>
On the Symfony blog today <i>Fabien Potencier</i> talks about some <a href="http://symfony.com/blog/new-in-symfony-2-3-small-things-matter">small things that matter</a> - some of the smaller updates that have been made to the Symfony 2 framework recently that have helped to make it better and more flexible.
</p>
<blockquote>
Every new Symfony release tries to brings some small but useful improvements. Let's dive into some of them for Symfony 2.3 (in no particular order).
</blockquote>
<p>Things in his list include:</p>
<ul>
<li>A text-based output of the exception handling stack trace
<li>A default configuration for the Serializer component
<li>The ability to run the framework in a production environment in development
<li>An update to make debugging configuration parameters easier
<li>Conversion process of short controller names
<li>Overload generated code in the bundle bootstrapping code
</ul>
<p>
Check out <a href="http://symfony.com/blog/new-in-symfony-2-3-small-things-matter">the post</a> for the rest of the changes on his list and check out the RC1 of Symfony 2.3.0 to see some of them in action.
</p>
Link: http://symfony.com/blog/new-in-symfony-2-3-small-things-matter]]></description>
      <pubDate>Mon, 20 May 2013 12:23:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Better Understanding Random]]></title>
      <guid>http://www.phpdeveloper.org/news/19513</guid>
      <link>http://www.phpdeveloper.org/news/19513</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a new tutorial talking about <a href="http://phpmaster.com/better-understanding-random">randomness in PHP</a>, what it is and some of the things it can be used for.
</p>
<blockquote>
Use of random values is very important in the computer security field. It is crucial in computer programming for development of secure systems that are not vulnerable to malicious subversion. Cryptography relies on random value's generation and their reproducibility for unpredictable output that is core for security of any system. Random values are fundamental for secure coding practices and PHP highly makes use of them for security. You will find them used in all libraries and frameworks and almost all codes rely on them for the generation of tokens, salts and as inputs for further functions.
</blockquote>
<p>
He talks about the important of good random numbers and some of the common uses for it including generating salts and unique identifiers. He mentions the "pseudorandomness" of PHP's generators and how they're seeded to help increase this randomness. He finishes up the tutorial with some suggestions and language features for creating "as random as possible" values like using "/dev/urandom" on Linux-based systems.
</p>
Link: http://phpmaster.com/better-understanding-random]]></description>
      <pubDate>Fri, 26 Apr 2013 11:52:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: 26 Ways to Show that PHP Can Be Better Than PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19345</guid>
      <link>http://www.phpdeveloper.org/news/19345</link>
      <description><![CDATA[<p>
In a new blog post on PHPClasses.org today <i>Manuel Lemos</i> has gathered together some of the things that PHP doesn't have (yet). Most of them are things that developers have expressed a desire for in the core and either have yet to make it into a <a href="http://wiki.php.net/rfc">RFC</a> or are still just being implemented in "userland" code.
</p>
<blockquote>
The PHP development process is still a bit frustrating. Many developers hoped that PHP had certain features but those are still missing due to several reasons. One way to see those features happen is to write code to implement the features and then submit the code to the PHP core. However that is not a guaranteed process. Even if you provide the necessary code, other developers may object to the addition of those features and the effort is wasted.
</blockquote>
<p>
Among the things he lists as features that are desired but not implemented yet are things like:
</p>
<ul>
<li>Aspect oriented programming
<li>Annotations
<li>Class generics
<li>Introspection of private variables and functions
<li>Named parameters
</ul>
<p>
There's a summary of each of the features mentioned and in some cases links to RFCs that presented the same ideas. If you're interested in presenting your own ideas to the PHP project for inclusion, you can "demystify" the RFC process by checking out <a href="https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process">this post</a> from <i>Chris Jones</i> with lots of good suggestions and the flow of how the process (usually) works.
</p>]]></description>
      <pubDate>Thu, 21 Mar 2013 11:14:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ben Ramsey: Introducing Array_column() in PHP 5.5]]></title>
      <guid>http://www.phpdeveloper.org/news/19344</guid>
      <link>http://www.phpdeveloper.org/news/19344</link>
      <description><![CDATA[<p>
<i>Ben Ramsey</i> has a new post talking about a feature that will become available in the PHP 5.5.x release series of the language - the <a href="http://benramsey.com/blog/2013/03/introducing-array-column-in-php-5-dot-5/">array_column</a> function. This function will extract all values from an array matching a given key.
</p>
<blockquote>
My original patch for array_column() was written for PHP 5.2, but it sat around collecting dust for many years, until April of last year, when PHP moved to git and GitHub. That's when it became easy enough to apply the patch and send a pull request, which I did. [...] My goal for array_column() was simplicity. Many implement the functionality in different ways, and many call the function by other names (such as "pluck"), but I wanted to keep it simple and recognizable.
</blockquote>
<p>
He includes an example of some sample data and how the function could be used to pull out the "last_name" field from each of the records and return just those as an array. If you're interested in seeing the original proposal and the RFC that was created for it, you can see it <a href="https://wiki.php.net/rfc/array_column">on the PHP wiki</a>.
</p>]]></description>
      <pubDate>Thu, 21 Mar 2013 10:46:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Florin Patan: Next big thing in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19241</guid>
      <link>http://www.phpdeveloper.org/news/19241</link>
      <description><![CDATA[<p>
<i>Florin Patan</i> has posted about what he calls the <a href="http://florinpatan.ro/2013/02/11/next-big-thing-in-php/">next big thing in PHP</a> - his observations of the current state of the language/community and what could be coming down the road.
</p>
<blockquote>
What's the next big thing in PHP? Or more accurately, how do you get to wish/want for a next big thing in PHP? PHP currently is seen as a jack of all trades, master none by most of people outside of PHP world and it's starting to look the same way for people who are using it as well. How did we got there?
</blockquote>
<p>
He spends a lot of the post talking about the future of PHP, though - what could be coming along with a PHP 6 release. He suggests that, with the way things are going, PHP could not be around too much longer if something dosen't change. He also makes several suggestions to the core PHP developers about what they could do to help the situation including strong typed variables, a "smarter parser" and a poll for PHP.net asking the users what they want in the language.
</p>
<blockquote>
This should be the next big thing in PHP. Collaboration and better community interface for both worlds, users and devs. Help us help you on PHP6, help us making a better world for everyone using PHP.
</blockquote>]]></description>
      <pubDate>Wed, 27 Feb 2013 12:19:47 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Kimsal: Why do no almost no web frameworks come with any authentication/authorization?]]></title>
      <guid>http://www.phpdeveloper.org/news/19221</guid>
      <link>http://www.phpdeveloper.org/news/19221</link>
      <description><![CDATA[<p>
In a new post to his site <i>Michael Kimsal</i> poses an interesting question about something he's noticed in several frameworks - and not just PHP ones: there seems to be a <a href="http://michaelkimsal.com/blog/why-do-no-almost-no-web-frameworks-come-with-any-authenticationauthorization-functionality/">lack of authentication/authorization functionality</a> coming bundled in.
</p>
<blockquote>
Why do almost no web frameworks provide any default authentication/authorization functionality, with default examples of best practices for common use cases.  The standard response I've gotten for years was/is "well, everyone's needs for authentication are different". No, they are not. A (very?) large majority of web applications (which is what most web frameworks are used to build), require some form of user login and authorization management, and often self-registration, dealing with lost passwords, etc.
</blockquote>
<p>
He points out that by not having something a user can immediately deploy that's been well tested and relatively risk-free, it can introduce security holes as a developer is "left to fend for themselves". He suggests that the "not everyone's the same" mentality that seems to go with authentication/authorization isn't as valid as once thought. He does point out that both <a href="http://symfony.com/">Symfony2</a> and <a href="http://framework.zend.com/">Zend Framework 2</a> come with ACL functionality, but no common user handling. He mentions ones in a few other tools used in other languages too like <a href="https://github.com/plataformatec/devise">Devise</a> in Ruby, <a href="http://grails.org/plugin/spring-security-core">Spring Security</a> in Grails and <a href="http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx">a membership system</a> in ASP.NET.
</p>]]></description>
      <pubDate>Fri, 22 Feb 2013 10:14:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Jones: The Mysterious PHP RFC Process and How You Can Change the Web]]></title>
      <guid>http://www.phpdeveloper.org/news/19175</guid>
      <link>http://www.phpdeveloper.org/news/19175</link>
      <description><![CDATA[<p>
For anyone that's wondered how some of the features they use every day get into the PHP language, <i>Chris Jones</i> has <a href="https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process">written up a post</a> making the RFC (Request for Comments) process they follow a bit more transparent for the average developer.
</p>
<blockquote>
The <a href="https://wiki.php.net/rfc">PHP RFC</a> process has been in place for a while, and users new to core PHP development are starting to use RFCs to propose desirable features. Here are some personal observations and suggestions that show how I have seen feature acceptance and the (newish) RFC process work in practice. These notes augment the steps in <a href="https://wiki.php.net/rfc/howto">How To Create an RFC</a>. I hope they help set expectations about the PHP RFC process and feature acceptance in the PHP language.
</blockquote>
<p>He lists the steps in the process from start to finish including things like:</p>
<ul>
<li>Avoid presenting an RFC idea to the "internals" mail list with email that begins "I don't know much about ... but ...". Do some research first.
<li>Your RFC should talk about all PHP areas that will be affected: php.ini, different SAPIs, engine, extensions, etc. List similar features. List similar features in other languages. Link to references. Give an estimate of the actual positive impact to user code.
<li>If you do have an implementation, make it clear whether the implementation is a simple prototype or is expected to be the final code. This is specially important during the vote.
<li>There is no need to respond to every discussion email individually. You should batch up your responses and manage the discussion intelligently.
<li>With long, fragmented discussions, not everyone will read every email. Update the RFC at regular intervals, and let people know what has changed.
<li>Some areas of PHP are complex or niche. Sometimes feature suggestions will be greeted by an apparent lack of interest. Don't be discouraged. This just means you need to take a stronger leadership role, and also prove your credentials by first working on the existing code base.
<li>During the voting period, it is common for people to continue mail list discussion. You may need to halt the vote and address any issues.
</ul>
<p>
Obviously, there's a lot more to it than that - <a href="https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process">his post</a> does a great job of letting you know what to expect and includes useful tips on helping you get your idea across.
</p>]]></description>
      <pubDate>Wed, 13 Feb 2013 10:31:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: PHP Traits: Good or Bad?]]></title>
      <guid>http://www.phpdeveloper.org/news/19066</guid>
      <link>http://www.phpdeveloper.org/news/19066</link>
      <description><![CDATA[<p>
In <a href="http://phpmaster.com/php-traits-good-or-bad/">this new post</a> to PHPMaster.com, <i>Callum Hopkins</i> takes a look at one of the more recently added features of the PHP language, <a href="http://php.net/traits">traits</a> an tries to determine if they're a good or bad thing for PHP development.
</p>
<blockquote>
In early March 2012, the PHP Group announced the release of PHP 5.4. Developer eagerly anticipated the release because of the many new features 5.4 would bring, the most sought after being traits. [...] Traits have have been generally accepted by the PHP development community, mainly because it's a feature that exists within other programming languages like Java, C++, and Python. [...] Are they a feature which will help raise the level of PHP development, or are they just a fad?
</blockquote>
<p>
The starts with a few reasons why he thinks traits are bad like their potential for abuse and the difficulties that could be caused by using them instead of something like an interface. On the good side, though, he mentions things like allowing for "multiple inheritance" and their addition showing growth in the language.
</p>]]></description>
      <pubDate>Mon, 21 Jan 2013 09:19:48 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso: Managing Windows services with Symfony/Process and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/18681</guid>
      <link>http://www.phpdeveloper.org/news/18681</link>
      <description><![CDATA[<p>
In his <a href="http://gonzalo123.com/2012/10/29/managing-windows-services-with-symfonyprocess-and-php/">recent post</a> <i>Gonzalo Ayuso</i> shows how to use Symfony to work with Windows services on the server.
</p>
<blockquote>
Sometimes I need to stop/start remote Windows services with PHP. It's quite easy to do it with net commnand. This command is a tool for administration of Samba and remote CIFS servers. [...] Today we are going to create a PHP wrapper for [net rpc service].
</blockquote>
<p>
He uses <a href="http://behat.org/">Behat</a> to create a feature (test) file, the code behind the features and a service class that handles the actual work of interacting with the service (with methods to do things like stop, start and list running services). Examples of its use are also included.
</p>]]></description>
      <pubDate>Thu, 01 Nov 2012 10:49:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sherif Ramadan: Test Drive PHP 5.5: A Sneak Peek]]></title>
      <guid>http://www.phpdeveloper.org/news/18641</guid>
      <link>http://www.phpdeveloper.org/news/18641</link>
      <description><![CDATA[<p>
<i>Sherif Ramadan</i> has a new post that gets into some good detail about what you can expect in the <a href="http://sheriframadan.com/2012/10/test-drive-php-5-5-a-sneak-peak/">upcoming PHP 5.5 release</a> with loads of new features.
</p>
<blockquote>
There's been some talk about PHP 5.5.0 over the past couple of months even though it is barely on the horizon. The reason for this is that the PHP project has seen some increased levels of activity over the last two years since the dawn of PHP 5.4 and now in to the early twilight phase of PHP 5.5.0-dev. For those of you that haven't been following the internals mailing list I'm about to give you a quick test-drive and sneak-peak at PHP 5.5 using the latest 5.5.0-dev branch (which is still TBD).
</blockquote>
<p>
Obviously, since the actual release of this version has yet to be determined, some of this may change over time. He gets into some of the major advancements and features that will be included like:
</p>
<ul>
<li>the "finally" keyword
<li>list() support in foreach()
<li>the Password Hashing API
<li>generators
<li>a new property accessor syntax
<li>scalar type hints
</ul>
<p>
Code samples are provided in some places to help make a bit more sense out of the example.
</p>]]></description>
      <pubDate>Mon, 22 Oct 2012 12:09:02 -0500</pubDate>
    </item>
  </channel>
</rss>
