<?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>Sun, 19 May 2013 02:13:43 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Liip Blog: PHPUCEU (PHP Unconference Europe)]]></title>
      <guid>http://www.phpdeveloper.org/news/19556</guid>
      <link>http://www.phpdeveloper.org/news/19556</link>
      <description><![CDATA[<p>
On the Liip blog <i>Lukas Smith</i> has <a href="http://blog.liip.ch/archive/2013/05/06/phpuceu.html">posted a wrapup of the PHPUCEU</a> (PHP Unconference Europe) and some of the sessions that made up the two day event.
</p>
<blockquote>
So this weekend I visited my hometown Berlin for the <a href="http://www.phpuceu.org/">PHPUCEU</a>. [...] This wasn't a "normal" conference. This was an unconference. As such attendees proposed talks they could give, but also talks that they would want to hear. Every morning every attendee would then have two votes for talks. The top voted talks would then be distributed across the 4 slots in the 3 available tracks. As such several of the sessions ended up being quite ad hoc with multiple people chipping in with what they new about the topic. What is also special about this event is that the sessions are just as long as the breaks to facilitate idea exchange about the session topics, but also about other topics. Overall I found this to be an absolutely thrilling experience.
</blockquote>
<p>Presentations chosen and made at this year's unconference included:</p>
<ul>
<li>a talk about the PHPRC (PHP Content Repository)
<li>"Clean Puppet"
<li>Behavior Driven Development
<li>Agile documentation
<li>Hood.ie
<li>Symfony2 REST API
<li>NoSQL is Not the Answer
</ul>
<p>
If you're interesting to see what the event was like, check out <a href="http://www.phpuceu.org/2013/05/06/impressions-phpuceu-2013/">some of the photos</a> they've posted to their site.
</p>
Link: http://blog.liip.ch/archive/2013/05/06/phpuceu.html]]></description>
      <pubDate>Tue, 07 May 2013 11:16:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Allen: Simple logging of ZF2 exceptions]]></title>
      <guid>http://www.phpdeveloper.org/news/19507</guid>
      <link>http://www.phpdeveloper.org/news/19507</link>
      <description><![CDATA[<p>
In <a href="http://akrabat.com/zend-framework-2/simple-logging-of-zf2-exceptions/">this new post to his site</a> <i>Rob Allen</i> shows you how to implement a simple logging method for catching exceptions in your Zend Framework 2 application.
</p>
<blockquote>
I recently had a problem with a ZF2 based website where users were reporting seeing the error page displayed, but I couldn't reproduce in testing. To find this problem I decided to log every exception to a file so I could then go back and work out what was happening. In a standard ZF2 application, the easiest way to do this is to add a listener to the 'dispatch.error' event and log using ZendLog.
</blockquote>
<p>
He uses an event listener to attach a service that contains a "logException" method. This method uses the ZendLog component to write out the error message to a local log file including a backtrace of where the issue occurred.
</p>
Link: http://akrabat.com/zend-framework-2/simple-logging-of-zf2-exceptions]]></description>
      <pubDate>Thu, 25 Apr 2013 10:31:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Igor Wiedler: Stateless Services]]></title>
      <guid>http://www.phpdeveloper.org/news/19410</guid>
      <link>http://www.phpdeveloper.org/news/19410</link>
      <description><![CDATA[<p>
<i>Igor Wiedler</i> has a recent post to his site about creating <a href="https://igor.io/2013/03/31/stateless-services.html">stateless services</a>, specifically in the context of using a dependency injection container to manage the objects your application uses.
</p>
<blockquote>
As more frameworks and libraries, particularly in the PHP world, move towards adopting the Dependency Injection pattern they are all faced with the problem of bootstrapping their application and constructing the object graph. In many cases this is solved by a Dependency Injection Container (DIC). Such a container manages the creation of all the things. The things it manages are services. Or are they?
</blockquote>
<p>
He notes that, according to some of the principles of domain-driven design, "services" should be stateless - the results of calls to the service shouldn't alter it, it should only depend on the values passed in. He goes on to put this into the context of a DIC and gives an example of the "request service" (and how it violates the DDD principles of statelessness). He talks some about scopes (dependencies) and mutable services. He talks about methods to get around these issues with the "request" instance, ultimately coming to the conclusion that event listeners might be the way to go.
</p>
Link: https://igor.io/2013/03/31/stateless-services.html]]></description>
      <pubDate>Thu, 04 Apr 2013 10:41:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Web & PHP Conference 2013]]></title>
      <guid>http://www.phpdeveloper.org/news/19403</guid>
      <link>http://www.phpdeveloper.org/news/19403</link>
      <description><![CDATA[<p>
The folks behind the Web & PHP Magazine have <a href="http://webandphp.com/conference/webandphpcon2013">announced a new event</a> they'll be putting on in San Jose, California in September of this year - the Web & PHP Conference. It's a four day conference featuring sessions, keynotes, an expo and "open knowledge sharing".
</p>
<blockquote>
Web & PHP Magazine invites you to its first ever conference. This four-day event in September will immerse you in a world of continuously changing and evolving web technologies. Developers will get together and trade great ideas at Web & PHP Con. Whether your interests lay in core PHP, security, testing, architecture, frameworks or cloud, this is the place for you. Maybe HTML5, CSS3, responsive design, UX, mobile web or web-based mobile apps are where it's at for you. That's okay - we'll have loads. And if Agile, DevOps, Continuous Delivery or strategies are in your presentation bucket list, you won't be disappointed. Come and hear about latest technologies and methods, discuss your own project developments and find new solutions.
</blockquote>
<p>
They've also opened their <a href="http://webandphp.com/conference/webandphpcon2013/cfp">call for papers</a> so you can submit your own ideas to present. There's a wide range of themes they're looking for at the event including things like:
</p>
<ul>
<li>Core PHP
<lI>Testing & Quality
<li>HTML5 & CSS3
<li>Mobile Web, Responsive Design
<li>User Experience Design (UX)
<li>E-Commerce, Magento, etc
</ul>
<p>
Hurry and get your submissions in though - the deadline is <a href="http://webandphp.com/conference/webandphpcon2013/cfp">April 26th</a>!
</p>
Link: http://webandphp.com/conference/webandphpcon2013]]></description>
      <pubDate>Wed, 03 Apr 2013 09:16:45 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[QaFoo.com: Win a Ticket for PHP Unconf EU]]></title>
      <guid>http://www.phpdeveloper.org/news/19343</guid>
      <link>http://www.phpdeveloper.org/news/19343</link>
      <description><![CDATA[<p>
The QaFoo group has <a href="http://qafoo.com/blog/038_win_phpunconf_eu_tickets.html">announced a giveaway</a> they're doing of a ticket to this year's <a href="http://www.phpuceu.org/">PHP Unconference Europe</a>:
</p>
<blockquote>
PHP Unconference Europe is an amazing PHP community meet-up. We would love to help you experience this event and therefore raffle 2 x 1 ticket (viable for non-german as well as german participants). In order to take part in the raffle, just complete the following sentence in a Tweet: "PHP quality is … /cc @qafoo". Replace the "…" with something that you consider important for software quality in your PHP projects and CC our Twitter account (required).
</blockquote>
<p>
If you haven't heard about the PHP Unfonference Europe, it's a<a href="http://www.phpuceu.org/"> yearly unconference style community event</a> where the participants set out the schedule based on who wants to present and what they want to hear when the event starts. It's less about formal presentations and more about discussion and and "experience sharing." It will be happening May 4th and 5th in Manchester, UK.
</p>]]></description>
      <pubDate>Thu, 21 Mar 2013 09:21:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Day Camp 4 Developers - Public Speaking for Developers]]></title>
      <guid>http://www.phpdeveloper.org/news/19334</guid>
      <link>http://www.phpdeveloper.org/news/19334</link>
      <description><![CDATA[<p>
If you're a developer and have considered getting out there and sharing your knowledge (via public speaking) but don't know where to start, you should check out the latest <a href="http://daycamp4developers.com/">Day Camp 4 Developers</a> happening this Friday (March 22nd).
</p>
<blockquote>
Have you ever needed to give a presentation to your local user group? Do you need to present a topic to your team? Have you ever wanted to speak at a technical conference? If you answered yes to at least one of those questions then we are presenting Day Camp 4 Developers #5: Public Speaking for Developers just for you. We have selected 4 presenters that we feel are great at presenting technical topics. Each of them is a developer, each of them has a history of public speaking, and each of them has agreed to share what they have learned over the years.
</blockquote>
<p>This edition includes talks from some of the top well-known PHP community speakers:
</p>
<ul>
<lI><i>Laura Thomson</i> of Mozilla
<li><i>Lorna Jane Mitchell</i>
<li><i>Elizabeth Naramore</i> from Github
<li><i>Keith Casey</i> of Twilio
</ul>
<p>
It's an online day-long event so you can participate from wherever you're at. You can still pick up tickets for the event <a href="http://daycamp4developers.com/">from the main site</a> - $40 USD for a single ticket, $100 USD for an "office party"
</p>]]></description>
      <pubDate>Tue, 19 Mar 2013 13:12:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[MaltBlue.com: Zend Framework 2 Event Manager - A Gentle Introduction]]></title>
      <guid>http://www.phpdeveloper.org/news/19040</guid>
      <link>http://www.phpdeveloper.org/news/19040</link>
      <description><![CDATA[<p>
<i>Matthew Setter</i> has a new post to his site for those wanting to take their first steps into Zend Framework 2. In it, he gives a <a href="http://www.maltblue.com/tutorial/zend-framework-2-event-manager-a-gentle-introduction">gentle introduction to the Event Manager</a> part of the framework - what its role is and how to customize it to your needs.
</p>
<blockquote>
Enjoying the introduction to Zend Framework 2? I hope so. In part one of the series, <a href="http://www.maltblue.com/articles-2/zend-framework-2-core-concepts-understanding-dependency-injection">we looked at Dependency Injection</a>, otherwise know as the Inversion of Control principle. Then, in part two, <a href="http://www.maltblue.com/tutorial/zend-framework-2-modules-the-applications-heart">we looked at Modules and the ModuleManager</a>, the next key aspects. In this part, we started to work through what they are and stepped through how to build one from scratch; along with some pointers for taking them further. In this, the 3rd of 4 parts, I'm taking you through the next key aspect of the framework - the EventManager. 
</blockquote>
<p>
He starts with a graphic showing its overall functionality - an implementation of the <a href="http://en.wikipedia.org/wiki/Observer_pattern">Observer</a> design pattern - and a general description of its goal (basically, execute code when actions are triggered). He talks about its implementation of aspect oriented programming and its event-driven architecture. Then he gets into some code-based examples: checking a query parameter on a dispatched request and logging form data before and after validation.
</p>]]></description>
      <pubDate>Tue, 15 Jan 2013 13:19:50 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney: ZF2's New Controller::init()]]></title>
      <guid>http://www.phpdeveloper.org/news/18293</guid>
      <link>http://www.phpdeveloper.org/news/18293</link>
      <description><![CDATA[<p>
In his latest post <i>Matthew Weier O'Phinney</i> introduces you to <a href="http://mwop.net/blog/2012-07-30-the-new-init.html">the new init() method</a> in the Zend Framework 2 controllers and how it differs from the one in version 1.
</p>
<blockquote>
In Zend Framework 1, controller's had an init() method, which was called after the controller was instantiated. The reason for it was to encourage developers not to override the constructor, and thus potentially break some of the functionality (as a number of objects were injected via the constructor). init() was useful for doing additional object initialization. [...] But this feature is missing from ZF2; how can we accomplish this sort of pattern?
</blockquote>
<p>
In Zend Framework 2, there's no Controller constructor by default anymore, so you have to do things slightly differently. He shows you how to use the event manager to simulate the same thing, attaching an event to the "dispatch" of the controller to do the work. He came back and updated the post with a second method that could do the same thing - using the ServiceManager from inside a module and attaching the event that way.
</p>]]></description>
      <pubDate>Tue, 31 Jul 2012 08:44:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Atlanta PHP & Atlanta MongoDB Host Derick Rethans]]></title>
      <guid>http://www.phpdeveloper.org/news/18224</guid>
      <link>http://www.phpdeveloper.org/news/18224</link>
      <description><![CDATA[<p>
The Atlanta PHP User Group has a <a href="http://atlantaphp.org/2012/07/september-2012-special-event-mongodb-and-php-with-derick-rethans/">special announcement</a> posted to their site - a joint event happening with the Atlanta area MongoDB user group with <i>Derick Rethans</i> (of 10gen) as the speaker.
</p>
<blockquote>
MongoDB is a scalable, high-performance, open source, document-oriented NoSQL database.  [...] This talk introduces MongoDB for developers who aren't familiar with it with a detailed introduction of how to work with MongoDB from PHP. This talk will cover the basics from installing the PHP driver and connecting to MongoDB to creating, inserting, querying for, and updating documents. Schema design will also be covered. This won't be a duplication of the previous MongoDB presentation we had earlier this year.
</blockquote>
<p>
The event is happening Friday, September 21st from 7-9pm (note that it's September, not this month). More details on the event are to come, so if you're a PHP (or MongoDB) developer in the Atlanta area, stay tuned for the latest info.
</p>]]></description>
      <pubDate>Fri, 13 Jul 2012 10:53:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Engine Yard Blog: Announcing Our New PHP User Group Program]]></title>
      <guid>http://www.phpdeveloper.org/news/18181</guid>
      <link>http://www.phpdeveloper.org/news/18181</link>
      <description><![CDATA[<p>
The folks over at Engine Yard have <a href="http://www.engineyard.com/blog/2012/announcing-our-new-php-user-group-program/">launched a new PHP-related effort</a> to try to do their part to help out PHP user groups all over the world - a new program that aims to provide user groups with support via a direct link with their leaders.
</p>
<blockquote>
Since Engine Yard was formed, we've had a deep commitment to supporting the open source community. [...] What was missing, though, was a more organized way to reach out to PHP User Groups to offer our support. We didn't really have a consistent way to connect with user group leaders. That's why we're starting a PHP User Group Program.
</blockquote>
<p>
User group leaders that sign up will get a monthly email describing the benefits available to your group, a list of upcoming events or conferences your attendees might be interested in as well as information on getting occasional swag/sponsorship for your group. 
</p>
<blockquote>
We'll also be highlighting a PHP User Group of the month, which will entail a blog post about your group, a visit from us and some extra special goodies for your members.
</blockquote>
<p>
If you're a user group leader, you can get involved by <a href="https://docs.google.com/a/engineyard.com/spreadsheet/ccc?key=0ArizYfD8IU5xdHpzWTYwUGNIellKdGl6UUdIa3BFWmc">signing up here</a> and you'll be notified when you've been added.
</p>]]></description>
      <pubDate>Wed, 04 Jul 2012 14:07:55 -0500</pubDate>
    </item>
  </channel>
</rss>
