<?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>Thu, 23 May 2013 10:04:40 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Lukas Smith: Good design is no excuse for wasting time]]></title>
      <guid>http://www.phpdeveloper.org/news/19377</guid>
      <link>http://www.phpdeveloper.org/news/19377</link>
      <description><![CDATA[<p>
In his most recent post <i>Lukas Smith</i> suggests that <a href="http://pooteeweet.org/blog/0/2205#m2205">good design isn't an excuse for wasting time</a>. He's basically saying that Symfony2, because of how it's designed and implemented, isn't a RAD (rapid application development) framework and that it's about time for some layers to be added to help get it there.
</p>
<blockquote>
Symfony 1.x I would put into a category of frameworks focused on RAD, aka rapid application development. [...] So for those people who were happy focusing on the 80% use case Symfony2 is a step back. Suddenly the same features take longer to implement, take longer to modify later on and on top of that the learning curve is steeper.
</blockquote>
<p>
He suggests that work be put into "RAD layers" that can sit on top of Symfony2 and provide some of the more familiar features people are used to from things like CakePHP, Yii and CodeIgniter. There's been <a href="https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/5-automatic-route-generation_single-restful-controller.md">a few</a> <a href="http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html">tries</a> to <a href="http://sonata-project.org/bundles/admin/master/doc/index.html">accomplish</a> this with only one getting the closest in his opinion - the <a href="http://rad.knplabs.com/">KnpBundle</a>.
</p>]]></description>
      <pubDate>Thu, 28 Mar 2013 11:51:51 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ulrich Kautz: C-based Web Frameworks for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19246</guid>
      <link>http://www.phpdeveloper.org/news/19246</link>
      <description><![CDATA[<p>
In <a href="http://foaa.de/blog/2013/02/21/c-based-frameworks-for-php/">this recent post</a> to his site <i>Ulrich Kautz</i> takes a look at an interesting development in the PHP framework world - C-based frameworks installable as PHP extensions. He covers some of the good and bad things about this approach.
</p>
<blockquote>
At the End of 2012 I had my first contact with a C-based PHP frameworks, namely <a href="http://www.yafdev.com/">YAF</a>. Coincidently, some day afterwards <a href="https://twitter.com/bitfalls">Bruno</a> from <a href="http://phpmaster.com/">phpmaster.com</a> pointed me towards <a href="http://phalconphp.com/">Phalcon</a> - a more modern interpretation of the same idea. So I was hooked.
</blockquote>
<p>
In his "good idea" category he notes that it's faster because it's already loaded in on the request (no long list of includes) and the memory footprint is less than a PHP equivalent. The "bad" side of things mentions some pretty major hurdles though, including the small communities vs larger ones on PHP-based frameworks and the issues that could come with debugging/upgrading. 
</p>]]></description>
      <pubDate>Wed, 27 Feb 2013 11:09:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[The Coders Lexicon: My Love / Hate Relationship With PHP Traits]]></title>
      <guid>http://www.phpdeveloper.org/news/19165</guid>
      <link>http://www.phpdeveloper.org/news/19165</link>
      <description><![CDATA[<p>
On the Coder's Lexicon site, there's a recent post talking about the author's <a href="http://www.coderslexicon.com/my-love-hate-relationship-with-php-traits/">love/hate relationship with PHP traits</a>, a relatively new feature of the language that apps for more "drop-in" functionality similar to mixins in other languages.
</p>
<blockquote>
When I saw the introduction of PHP traits in 5.4.0 I was eager to learn all about them and how they worked. [...] PHP traits, in my opinion, are handy and very flexible. I guess that is the "love" part of my relationship with them. [...] However, I feel that traits also meddle with a bit of the inheritance rules that have been proven time and time again. Is it possible to love as well as hate something at the same time?
</blockquote>
<p>
He talks first about "the love" he feels for using traits in his code. He talks about their usefulness for geting around PHP's single inheritance structure and being able to "bolt on" functionality as needed. Then comes "the hate" of them, noting that in the wrong hands, they could lead to very messy and lazy coding practices (including the <a href="http://en.wikipedia.org/wiki/Deadly_Diamond_of_Death#The_diamond_problem">deadly diamond of death</a> problem).
</p>]]></description>
      <pubDate>Mon, 11 Feb 2013 12:50:45 -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[PHPMaster.com: Practical Refactoring, Part 1 - What is Good Code?]]></title>
      <guid>http://www.phpdeveloper.org/news/18597</guid>
      <link>http://www.phpdeveloper.org/news/18597</link>
      <description><![CDATA[<p>
On PHPMaster.com they've started up a new series focused on refactoring code to make your applications not only easier to maintain but easier to expand on in the future. In <a href="http://phpmaster.com/practical-refactoring-1/">this first part</a> they focus on what the term "good code" really means.
</p>
<blockquote>
The main goal of refactoring is clean code, better code, or whatever you might call it. But what actually constitutes good code? Good code is smelled and tasted. If you've written a lot of code, you understand what I mean; you can easily identify whether code is good or bad with experience. But what if you are new to coding but still want to do things right? We can summarize the aspects of good code with these three guidelines: Readable, Extensible and Efficient
</blockquote>
<p>
He goes on to explain each of these three guidelines with descriptions of what they are and what they mean to you as a developer. In the next part of the series, he'll take these three ideas and apply them to code, showing some of the most common points where they can be applied to clean things up.
</p>]]></description>
      <pubDate>Fri, 12 Oct 2012 11:15:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[/Dev/Hell Podcast: Episode 4: The Cool Kids Club]]></title>
      <guid>http://www.phpdeveloper.org/news/17459</guid>
      <link>http://www.phpdeveloper.org/news/17459</link>
      <description><![CDATA[<p>
The latest episode of the "/dev/hell" podcast has been released - <a href="http://devhell.info/post/2012-01-26/the-cool-kids-club/">Episode 4</a>: "The Cool Kids Club".
</p>
<blockquote>
Our fourth episode is all ready for your listening pleasure. In this exciting episode we focus on "The Conference Experience" and discuss why programming conferences are so important to developers. Chris talks about why CodeMash was so awesome and the awesome talks full of awesomeness that he attended. Ed talks about his own experiences with speaking and attending conferences, complete with a total derail by Chris on why a certain conference rubbed him the wrong way. Oh yeah, you also find out our opinions on what constitutes a "well-written PHP application". I'm sure you will be surprised by our answers.
</blockquote>
<p>
You can either listen to this latest episode either via <a href="http://devhell.info/post/2012-01-26/the-cool-kids-club/">the in-page player</a> or you can <a href="http://devhell.s3.amazonaws.com/ep4-64mono.mp3">download the mp3</a> directly.
</p>]]></description>
      <pubDate>Fri, 27 Jan 2012 12:54:53 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Maclean's Blog: Where are all the decent PHP CMSes?]]></title>
      <guid>http://www.phpdeveloper.org/news/15757</guid>
      <link>http://www.phpdeveloper.org/news/15757</link>
      <description><![CDATA[<p>
In <a href="http://mgdm.net/weblog/where-are-all-the-decent-php-cmses">a new post to his blog</a> <i>Michael Maclean</i> looks at the current CMS ecosystem and wonders "where are all the decent CMSes?" He's been having trouble finding one and really wants to know.
</p>
<blockquote>
I've been recently asked to check out some CMSes for someone, and try to find a recommendation. What I've been finding hasn't really been encouraging. Out of the several CMSes I've tried, they've all failed for various reasons. I admit that I might be looking at this from a slightly different perspective than most - that of admining it and coding against it, rather than as a user - but it's still rather disappointing.
</blockquote>
<p>
He briefly looks at a few of the more popular offerings - Silverstripe, Concrete5, CMS Made Simple, Joomla! and the old standby - WordPress. 
</p>
<blockquote>
What's going on? This is what PHP is supposed to be good at. Where are the simple, lightweight CMSes with modern code? 
</blockquote>
<p>
There's <a href="http://mgdm.net/weblog/where-are-all-the-decent-php-cmses#comments">plenty of comments</a> so be sure and read them - everything from suggesting that the net should be cast wider to "PHP applications" versus just CMSes out to suggestions for other CMSes to try out (quite a few of those).
</p>]]></description>
      <pubDate>Tue, 18 Jan 2011 09:49:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder' Blog: Getting good PHP programmers]]></title>
      <guid>http://www.phpdeveloper.org/news/15437</guid>
      <link>http://www.phpdeveloper.org/news/15437</link>
      <description><![CDATA[<p>
<i>Kevin Schroeder</i> has <a href="http://www.eschrade.com/page/getting-good-programmers-4ce1bb94">posted some of his thoughts</a> how how you, the one looking for good PHP developers, can really get the best talent out there you can find based on his experiences in interviewing other developers.
</p>
<blockquote>
I can interview for certain (but by no means all) PHP positions because I know a fair about PHP and I believe that being smart but being an asshole does not make you a good PHPer.  But not everyone who interviews knows that.  And not only that, it is getting difficult to find good PHP developers.  A lot of the good ones are being taken up by top companies, but even they are having trouble finding all the good developers they need.
</blockquote>
<p>
He suggests coming up with something a bit more concrete than just this vague picture of what a "good PHP developer" is and how, even once that's defined, the quality of all developers should be raised to that level. He asks for some feedback on a few related questions like: is there really a shortage of good PHP developers or what are the significant topic areas that PHP developers should know well? Lease him some feedback <a href="http://www.eschrade.com/page/getting-good-programmers-4ce1bb94#comments">on the post</a>.
</p>]]></description>
      <pubDate>Tue, 16 Nov 2010 10:15:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Test.ical.ly Blog: What is a good software architecture in a nutshell?]]></title>
      <guid>http://www.phpdeveloper.org/news/15343</guid>
      <link>http://www.phpdeveloper.org/news/15343</link>
      <description><![CDATA[<p>
On the Test.ical.ly blog there's a <a href="http://test.ical.ly/2010/10/26/what-is-a-good-software-architecture-in-a-nutshell/">recent post</a> asking about good software architecture and how you could define it simply without having to muck around with all of the details it tends to conjure up.
</p>
<blockquote>
What is a good architecture and why are there apparently two opposing trenches supporting quality on the one side and speed of development on the other side? After having had enough time to think about this whilst flying to Spain I came to the conclusion that Nils question whether it would be better to start quick and dirty to fail cheap in case the project is a looser or to stick to a clean and solid architecture and spend more time and money. Does quick always have to be dirty, clean always have to be slow, is dirty always quicker?
</blockquote>
<p>
He suggests that "good architecture" and "quick and dirty" are the two opposite ends of the same spectrum. Instead, he suggests that a pragmatic approach is the best - focusing on what needs to be done rather that how to get there. Also by applying the "don't fix it if it's not broken" mentality to current methods and technologies, you can save a lot of hassle in the long run.
</p>]]></description>
      <pubDate>Wed, 27 Oct 2010 12:21:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nurul Ferdous' Blog: Here is my 2 cents on Doctrine (ORM)]]></title>
      <guid>http://www.phpdeveloper.org/news/15224</guid>
      <link>http://www.phpdeveloper.org/news/15224</link>
      <description><![CDATA[<p>
<i>Nurul Ferdous</i> has posted <a href="http://dynamicguy.com/2010/09/here-is-my-2-cents-on-doctrine-orm/">his "two cents" on Doctrine</a> - his thoughts on the good and bad things about the popular ORM tool.
</p>
<blockquote>
What is Doctrine? Doctrine is a popular ORM for PHP which works with RDBMS via PHP objects. This is built inspired by Hibernate from JAVA. This acts as an abstraction layer between PHP and RDBMS.
</blockquote>
<p>
In his list of good things about Doctrine are things like its hiding of business logic, automatic CRUD, automatic modification of DQL queries, migrations and unit testing interfaces. On his "bad list" are things like not being able to use foreign keys as an identifier, heavy emphasis on an "id" column, not all data types are in DBAL and the SQL constructs missing in DQL. He also includes a scenario where he definitely not use Doctrine - a specific example from a project he just worked on that pushed the limits of the tool.
</p>]]></description>
      <pubDate>Mon, 04 Oct 2010 11:20:31 -0500</pubDate>
    </item>
  </channel>
</rss>
