<?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, 19 Jun 2013 23:42:58 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Sameer Borate: Simple user authentication in Laravel 4]]></title>
      <guid>http://www.phpdeveloper.org/news/19729</guid>
      <link>http://www.phpdeveloper.org/news/19729</link>
      <description><![CDATA[<p>
<i>Sameer Borate</i> has a new post today showing how you can do <a href="http://www.codediesel.com/frameworks/simple-user-authentication-in-laravel-4/">simple user authentication</a> in a <a href="http://laravel.com">Laravel 4</a>-based application using the built-in Auth functionality.
</p>
<blockquote>
With the recent release of Laravel 4, PHP developers have at their disposal one of the finest frameworks for application development. As with all new frameworks, it is always good to write some quick code to get a feel for the underlying architecture. The following post shows a simple authentication application using Laravel.
</blockquote>
<p>
He walks you through the creation of the simple "users" table, the configuration the Auth class will need to connect and authenticate and the form for the login. He also shows the steps for the actual authentication process as well as the code for the routes to make it all work. Additionally, he shows how to restrict pages to only those with the "admin" level access via an auth filter. You can download the <a href="http://www.codediesel.com/downloads/laravel-login-demo">example code here</a>.
</p>
Link: http://www.codediesel.com/frameworks/simple-user-authentication-in-laravel-4]]></description>
      <pubDate>Mon, 17 Jun 2013 14:22:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Openbiz Cubi: A Robust PHP Application Framework, Part 1]]></title>
      <guid>http://www.phpdeveloper.org/news/19599</guid>
      <link>http://www.phpdeveloper.org/news/19599</link>
      <description><![CDATA[<p>
On PHPMaster.com today they've posted the first part of a series <a href="http://phpmaster.com/openbiz-cubi-a-robust-php-application-framework-1/">spotlighting Openbiz Cubi</a>, a PHP "framework" with a business focus.
</p>
<blockquote>
Openbiz Cubi is a robust PHP application framework giving developers the ability to create business applications with minimal effort. In this two-part series I'll explain the concepts and steps necessary to create your own business web applications with Cubi. We'll look first at the challenges web developers face and how Openbiz Cubi can help, and then how to install Cubi. In part 2 we'll see how to create our own modules.
</blockquote>
<p>
They start off by describing the tool and some of the features that come with it (including user management and the XML data object structure). Complete installation instructions are included and <a href="http://cdn.phpmaster.com/files/2013/05/cubi-1-1.png">a screenshot</a> is included of the end result. They include a "quick tour" of Cubi's features and some of the modules that come with it like the System, Menu and User modules. In part two of the series, they'll show you how to create a custom module.
</p>
Link: http://phpmaster.com/openbiz-cubi-a-robust-php-application-framework-1]]></description>
      <pubDate>Fri, 17 May 2013 10:36:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[MaltBlue.com: Zend Framework 2 Forms - Simple and Available Everywhere]]></title>
      <guid>http://www.phpdeveloper.org/news/19411</guid>
      <link>http://www.phpdeveloper.org/news/19411</link>
      <description><![CDATA[<p>
<i>Matt Setter</i> has a new post to his site today about <a href="http://www.maltblue.com/zend-framework/simple-zend-framework-2-forms">forms in Zend Framework 2</a> including a full example on how to use them to create a form for user information (first name, last name).
</p>
<blockquote>
I think it goes without saying, forms are one of the central elements of any web-based application. They're used for everything from logging in, to searching content and managing information. Given that, they should be first-class citizens, able to be developed and reused with relative ease. [...] However, given the amount of options, configurability and flexibility required, this isn't always easy. [...] In today's post, I'm going to assume you have a basic understanding of how forms work now. [...] I'm going to show you how to create flexible, reusable forms in one module and by the power of the ServiceManager reuse them throughout your application. 
</blockquote>
<p>
He starts with the inclusion of a dependency needed for his example - the ZfcUser component (installed via Composer). He then moves on to the actual code for the form creating a reusable module, an entity class for the User and the Fieldset/Form classes for the contents of the form. He also includes the code for the controller action and the view that outputs the form itself and handles the repopulation automagically (and includes a CSRF token).
</p>
Link: http://www.maltblue.com/zend-framework/simple-zend-framework-2-forms]]></description>
      <pubDate>Thu, 04 Apr 2013 11:29:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Authenticate Users with Mozilla Persona]]></title>
      <guid>http://www.phpdeveloper.org/news/18832</guid>
      <link>http://www.phpdeveloper.org/news/18832</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a new tutorial from <i>Vito Tardia</i> about using the <a href="http://www.mozilla.org/en-US/persona/">Mozilla Persona</a> authentication system in your PHP application - an abstracted authentication system that keeps only a token representing the user in your system.
</p>
<blockquote>
Mozilla Persona is built upon the BrowserID technology also developed by Mozilla. You can find an expanded explanation of the concepts in the article <a href="http://lloyd.io/how-browserid-works">How BrowserID Works</a> by Lloyd Hilaiel. [...] An email address is an identity and it's verified by the email provider [then the] authentication takes place in the browser. 
</blockquote>
<p>
He talks about the three steps in the process (certificate provisioning, assertion generation and assertion verification) and includes some sample code that does the work for you with some PHP, HTML and Javascript. In his example he just authenticates the user and returns the success/fail back to the calling script. You could take it one step further and <a href="http://websec.io/2012/10/01/Using-Mozilla-Persona-with-PHP-jQuery.html">integrate it with the session handler</a> as well.
</p>]]></description>
      <pubDate>Mon, 03 Dec 2012 11:18:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: 5 More PHP Security Vulnerabilities]]></title>
      <guid>http://www.phpdeveloper.org/news/18740</guid>
      <link>http://www.phpdeveloper.org/news/18740</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a continuance of a <a href="http://phpmaster.com/top-10-php-security-vulnerabilities/">previous article</a> about security in PHP applications talking about a few more considerations when trying to <a href="http://phpmaster.com/5-more-php-security-vulnerabilities/">make things secure</a>.
</p>
<blockquote>
In a <a href="http://phpmaster.com/top-10-php-security-vulnerabilities/">previous article</a>, I talked about some common security vulnerabilities that can affect your PHP web application. But there are other things besides those ten (okay, seven) attacks to think about when you're developing. And so, this article offers a compendium of miscellaneous things that are security related; things you should do, things you shouldn't do, things that other people might try to do, whatever it takes to make an article long enough for my editor to be satisfied with it.
</blockquote>
<p>
He talks some about the settings that you might need to tweak in your "php.ini" server-side configuration file, some hints on filtering data (like using <a href="http://php.net/filter_input">filter_input</a>) and what to watch out for with error reporting. He also mentions session fixation and the protection of user data and passwords to keep them out of the hands of would-be attackers.
</p>]]></description>
      <pubDate>Tue, 13 Nov 2012 14:42:02 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: Can We Revive php.net User Notes Or Kill It?]]></title>
      <guid>http://www.phpdeveloper.org/news/18475</guid>
      <link>http://www.phpdeveloper.org/news/18475</link>
      <description><![CDATA[<p>
In <a href="http://www.reddit.com/r/PHP/comments/zixee/can_we_revive_phpnet_user_notes_or_kill_it/">this discussion on Reddit</a>, there's talk about the user comments feature on the <a href="http://php.net">PHP.net</a> site and the value they provide to the language and community.
</p>
<blockquote>
The question, however, has always been "how useful is this feature really and does it bring more harm than good?". It's not that easy to answer since there are so many notes submitted by a wide range of users and some will likely go unnoticed while others seem to get undue attention due to their positioning near the top of the user-notes section of a particularly trafficked page.
</blockquote>
<p>
The poster proposes a few things that could help make them a bit more effective (and useful overall) including voting on the note contents, flagging potential issues and sorting the notes based on popularity/age. He's put together a proof of concept <a href="http://php.sheriframadan.com/manual/en/function.strtotime.php#109929">as seen here</a> with some of the new features. 
</p>]]></description>
      <pubDate>Thu, 13 Sep 2012 12:56:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Justin Carmony: Refactoring or Rebuilding: Working with Legacy Code]]></title>
      <guid>http://www.phpdeveloper.org/news/18427</guid>
      <link>http://www.phpdeveloper.org/news/18427</link>
      <description><![CDATA[<p>
In <a href="http://www.justincarmony.com/blog/2012/08/30/refactoring-or-rebuilding-working-with-legacy-code/">this post</a> to his site, <i>Justin Carmony</i> shares some of his experience in working with a legacy code base and shares some of the steps he's taking in his own work to modernize it.
</p>
<blockquote>
There is [still] one big piece written in a less than ideal system. Its still PHP, but much more hacked together. It is our backend CMS system for controlling the website. It is painful to use, and we get many complaints all the time about it. [...] on Twitter, I saw a link for a talk Paul M. Jones gave at the Nashville PHP Usergroup. It was entitled: "<a href="http://paul-m-jones.com/archives/2667">It Was Like That When I Got Here: Steps Toward Modernizing a Legacy Codebase</a>." I couldn't think of a better title for that talk, nor a better talk to listen to at this very moment.
</blockquote>
<p>
He mentions the steps he taking to further advance his own project towards a better, non-legacy state including an audit of the current functionality and getting input from users as to which features give them the most pain.
</p>
<blockquote>
Using these lists to decide what to refactor, we can get the biggest gains for the least amount of work. If we were to rebuild, we would get the smallest gains (if any) of barely having something functional with the greatest effort.
</blockquote>]]></description>
      <pubDate>Fri, 31 Aug 2012 08:23:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[/Dev/Hell Podcast: Episode 18: Pull Requests Welcome]]></title>
      <guid>http://www.phpdeveloper.org/news/18380</guid>
      <link>http://www.phpdeveloper.org/news/18380</link>
      <description><![CDATA[<p>
The latest episode of the /Dev/Hell Podcast has been released - <a href="http://devhell.info/post/2012-08-19/pull-requests-welcome/">Episode 19: Pull Requests Welcome</a>:
</p>
<blockquote>
This week on /dev/hell is "let's talk about arguments Chris got into on Twitter" week. Most of the discussion revolves around how we interact with users, both developer-types and average joes.
</blockquote>
<p>
You can listen to this latest episode either via their <a href="http://devhell.info/post/2012-08-19/pull-requests-welcome/">in-page player</a>, by <a href="http://devhell.s3.amazonaws.com/ep18-64mono.mp3">grabbing the mp3 directly</a> or by <a href="http://feeds.feedburner.com/devhell-podcast">subscribing to their RSS feed</a>.
</p>]]></description>
      <pubDate>Mon, 20 Aug 2012 12:09:16 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Implementing User Defined Interfaces in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/18364</guid>
      <link>http://www.phpdeveloper.org/news/18364</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a new tutorial that <a href="http://www.phpbuilder.com/articles/php-functions/other-functions/Implementing_User_Defined_Interfaces_in_PHP_5.html">talks about creating interfaces</a> in PHP and how to use them to effectively structure your application.
</p>
<blockquote>
Starting with PHP 5 the object model was rewritten to add features and bring PHP in line with languages such as Java and Visual Basic .NET. In this article I'll discuss interfaces, which is among the most important features in PHP 5. Other important features include <a href="http://www.php.net/manual/en/language.oop5.visibility.php>visibility</a>, <a href="http://www.php.net/manual/en/language.oop5.abstract.php">abstract</a> and <a href="http://www.php.net/manual/en/language.oop5.final.php">final</a> classes, methods and additional <a href="http://www.php.net/manual/en/language.oop5.magic.php">magic methods</a>. You will learn how to define your own interfaces and how to work with them using different object model mechanisms.
</blockquote>
<p>
The introduce you to some of the basic concepts behind using interfaces and how to create a basic one - a simple definition of a string class with one method, "getString". They then show how to extend a different example (a RandomNumber interface) and add on an additional method. He also shows how to extend multiple interfaces and integrate functionality from multiple sources, overloading and overrides.
</p>]]></description>
      <pubDate>Thu, 16 Aug 2012 08:35:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Build Web Apps from Scratch with Laravel - The Eloquent ORM]]></title>
      <guid>http://www.phpdeveloper.org/news/18153</guid>
      <link>http://www.phpdeveloper.org/news/18153</link>
      <description><![CDATA[<p>
In the second part of their series looking at the <a href="http://laravel.com">Laravel PHP framework</a> and creating your first application with it. In <a href="http://phpdeveloper.org/news/18115">part one</a> you got a brief introduction to creating and configuring an application. In <a href="http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-the-eloquent-orm/">part two</a> they dig a little deeper and talk about Laravel's ORM functionality.
</p>
<blockquote>
In this Nettuts+ <a href="http://net.tutsplus.com/tutorials/php/building-web-applications-from-scratch-with-laravel/">mini-series</a>, we'll build a web application from scratch, while diving into a great new PHP framework that's rapidly picking up steam, called <a href="http://laravel.com/">Laravel</a>. In this lesson, we'll be working on an integral part of any web application: the Models. Along the way, we'll learn about Laravel's amazing ORM implementation: Eloquent.
</blockquote>
<p>
The tutorial introduces you to the concept of "Models" and some of the conventions that surround them in the Laravel framework. They show some of the most common operations (CRUD) and how to define relationships between the models (has many, has one, etc). They apply this to their "Instapics" example application, creating the interfaces for the users, profiles, relationships, photos and comments. They include the code to create the controllers/views to go along with them, making a simple interface to show users and their photos.
</p>
<p>
You can find out more about the Eloquent ORM in <a href="http://laravel.com/docs/database/eloquent">this section</a> of the Laravel manual.
</p>]]></description>
      <pubDate>Thu, 28 Jun 2012 12:27:14 -0500</pubDate>
    </item>
  </channel>
</rss>
