Quantcast
Channel: PHPDeveloper.org
Viewing all 1515 articles
Browse latest View live

Three Devs & A Maybe Podcast: The Big Five-Zero

$
0
0

The Three Devs and a Maybe podcast has released their latest episode, #50! In the Big Five-Zero hosts Michael Budd, Fraser Hart, Lewis Cains and Edd Mann talk about a wide range of topics including web unicorns, application composition and the state of CodeIgniter 3.

This week we celebrate the 50th episode of the podcast in style, by... not even remembering it is the 50th episode till half way through (whoops). We start off discussion with our differing views on working from home, web unicorns and running shoes. Leading on from this, we bring up a couple of news topics that have been making the rounds in the PHP world recently - along with a proposed Unix command-line series that Mick is keen to do. We then move on to some of the great feedback we have received from you guys this past week, and somehow this leads to Edd rambling on about the Unix philosophy/application composition again. Finally, we discuss the state of CodeIgniter 3, how Git works under-the-hood and Objective-C/Swift's memory management model.

Other topics mentioned in this episode include:

You can listen to this latest episode either via the in-page player or by downloading the full mp3. If you enjoy the show, consider subscribing to their feed too.

Link: http://threedevsandamaybe.com/the-big-five-zero/

Acquia Podcast: Meet Cal Evans ... Meet Jeffrey A. "jam" McGuire (Part 1)

$
0
0

The Acquia podcast has released a special episode today spotlighting a video interview with Voices of the ElePHPant host Cal Evans and Jeffrey (jam) McGuire of the Drupal community. They decided to do a joint podcast, combining the Acquia and Voices of the ElePHPant podcast, giving you a look behind the scenes at Cal himself.

They talk about how Cal became involved in open source, how he discovered Drupal specifically, his involvement in the PHP community as a whole and where he works/what he currently does. They also talk about why Cal thinks PHP is such a success and his own "virtual user group" project, NomadPHP.

You can catch the interview either through the in-page video player or directly on YouTube.

Link: https://www.acquia.com/resources/podcasts/acquia-podcast-167-meet-cal-evans-meet-jeffrey-jam-mcguire

Michelangelo van Dam: Running Apigility on Azure

$
0
0

Michelango van Dam has a new post on his site today walking you through the process of running Apigility on Windows Azure. Apigility is a project from Zend that makes creating and maintaining APIs much simpler (based on the Zend Framework).

Since a couple of years I've been a fan of Microsoft Azure, the cloud platform by Microsoft. It offers a platform as a service (PaaS) in the form of Azure Websites which makes it a great solution to prototype and to play with new stuff. Last year Matthew Weier O'Phinney announced Apigility at ZendCon, a manager for API design. It was immediately clear that it would revolutionise the way we would design and manage REST API's.

Michelangelo walks you through the entire process, starting locally. He shows you how to clone and set up the latest version of Apigility and create a basic endpoint named "demo". He adds in a bit of code to handle the API request (returning user data) and includes an example of what the REST request looks like. With that up and running, he moves on to the Azure side of things. He shows you how to create a "web.config" file to configure the Azure server and run Composer as the install is being processed. He helps you get an Azure account set up and shows how to set up the website instance where you'll deploy the application, pointing it to a GitHub repository as a deploy source.

Link: http://www.dragonbe.com/2014/11/running-apigility-on-azure.html

SitePoint PHP Blog: Getting Started with FigDice

$
0
0

The SitePoint PHP blog has posted the second part of their series highlighting the FigDice template rendering system. In this latest article Lukas White focuses on FigDice's ability to "pull" data into templates as needed rather than having it injected.

Amongst the many templating systems out there, most work in pretty much the same way; variables are "injected" using some syntax or another, be it curly braces, percentage signs or whatever that library's convention happens to be. They'll usually have basic control structures, such as if...then and, of course, iteration. FigDice, however, takes an altogether different approach. Inspired by PHPTAL - the subject of a future article - it gives the view layer the responsibility of "pulling" in the data it requires, rather than relying on controllers to assemble and "push" it into the templates.

He walks you through the installation of the tool (via Composer) and how to create a basic FigDice view to work with (including template loading). He uses a sample Silex-based application for his examples, making a layout with the FigDice additions to the attributes. He then shows how to make the template for the main index page with a "mute" region for the include logic. He shows how to include this basic template into the view and render it directly as output. Next he shows how to integrate data with the template, pulling in "tweets" from an array dataset via a loop (walk) and a factory to provide the template the data.

Link: http://www.sitepoint.com/getting-started-figdice/

Community News: Packagist Latest Releases for 11.22.2014

$
0
0
Recent releases from the Packagist:

Community News: Packagist Latest Releases for 11.23.2014

$
0
0
Recent releases from the Packagist:

Community News: Latest PEAR Releases for 11.24.2014

Community News: Packagist Latest Releases for 11.24.2014

$
0
0
Recent releases from the Packagist:

Mathias Verraes: Higher Order Programming

$
0
0
In his latest post Mathias Verraes looks at "higher level programming" in PHP. Higher order programming is a style of programming that uses components (like functions, modules or objects) as values.
Let's have some fun with higher order programming in PHP. I'll start by showing how to program with Lambdalicious (or λlicious for friends) and introduce the real meat along the way. Don't worry too much about the dark magic that may appear to power some of the features of Lambdalicious. It's on GitHub if you're curious. Just follow along and keep track of all the functions.

He breaks his examples up into (lots of) different examples, each with example code:

  • Atoms
  • Lists
  • Functions
  • Conditionals
  • Loops & List Processing
  • Deduplication
  • Filter and Reduce
  • Functions returning functions
  • Partial Function Application
  • Composition
  • Piping

He finishes off the post talking about Lambdalicious and how, in reality, it's just not suitable for anything useful as written in PHP. The language just doesn't have the right functionality to make it work sufficiently...even HHVM.

Link: http://verraes.net/2014/11/higher-order-programming/

Anthony Ferrara: A Beginner's Guide To MVC For The Web

$
0
0

Anthony Ferrara has posted what he calls a beginners guide to MVC for the web, a tutorial that introduces to you the basic concepts behind the Model-View-Controller design pattern and how it should fit in with the SOLID design principles.

There are a bunch of guides out there that claim to be a guide to MVC. It's almost like writing your own framework in that it's "one of those things" that everyone does. I realized that I never wrote my "beginners guide to MVC". So I've decided to do exactly that. Here's my "beginners guide to MVC for the web".

He starts with his first lesson, his most important one really - you don't need "MVC" (the concept, not the pattern...he notes them differently). He then gets into what the MVC pattern actually is and describes each piece and how they fit together. Following that, he talks about "MVC" as a concept and how it's different from MVC, the design pattern (hint: the pattern describes one implementation of the MVC ideals). He talks about the role of state in the MVC structure and how the implementation of the MVC idea is slightly different in the various "MVC frameworks" out there.

There is a very useful lesson that MVC brings: Separation Of Concerns. Meaning that you should separate different responsibilities into different sections of your application. Separation of Concerns is a necessary step in dealing with Abstraction. Instead of latching on to MVC, latch on to abstraction. Latch on to separation of concerns. Latch on to architecture. There are far better ways to architect and abstract user interaction for server-based applications than MVC.
Link: http://blog.ircmaxell.com/2014/11/a-beginners-guide-to-mvc-for-web.html

Laravel News: The Artisan Files: Eric Barnes

$
0
0

The Laravel News site has posted their latest interview with a member of the Laravel community (their Artisan Files series). This time they talk with Eric Barnes, the person behind the Laravel Newsletter.

This is a special edition of the Artisan Files series. Over the past few weeks I've had several people ask me to be interviewed and it wasn't something I even considered. For this interview Taylor Otwell volunteered to ask the questions and if you have a question that wasn't asked just leave a comment.

In the interview you'll learn some about Eric including:

  • How he got started in development (and involved with Laravel)
  • What inspired him to start the Laravel Newsletter
  • What applications he considers his "must haves"
  • Three things he thinks make for better programmers
  • His favorite conference talk

...and much more. Check out the full interview for the answers to these and other questions. Also, be sure to sign up for the newsletter to keep up to date on the Laravel community.

Link: http://laravel-news.com/2014/11/artisan-files-eric-barnes/

Dejan Angelov: Experimental upgrading to Laravel 5: How I did it

$
0
0

In a recent post Dejan Angelov shares the process he went through to upgrade an application to Laravel 5, yet to be released (at least at the time of this post).

Over the past weeks, Taylor introduced many great changes and new features that we'll be able to use in the new version, firstly numbered 4.3 and later 5. According to the framework's six month release cycle, it should had hit stable late this month or in early December. Because of that, I started to play with it and to apply the changes to make my application use it.

However, a couple of days ago, Taylor wrote a blog post on the Laravel's blog saying that because of the importance of this release, the release date will be postponed to January. Considering this, everything you'll read here MUST NOT be applied to applications that are currently in production.

He starts with some of the major differences, including changes in the dependencies required and the removal of the "start.php" file for bootstrapping the application. He talks about the changes in startup and shutdown as well as autoloading. He looks at directory structure changes and the addition of a base namespace. He then gets into how to fix these issues, one at a time, including code and configuration changes that need to be made. This includes updates to the facades, changes for middleware, environment configuration, pagination and routing. There's lots of other changes happening with Laravel 5, so be sure to check out the full post if you're interested in the steps you might need to take when this latest version is released.

Link: http://angelovdejan.me/2014/11/22/experimental-upgrading-to-laravel-5-how-i-did-it.html

php[architect]: November 2014 Issue Released - Environments

$
0
0

php[architect] magazine has released their latest issue today - the November 2014 edition: "Environments".

In this month's issue, we take a look at the environments that PHP code may travel through.

Articles in this month's issue include:

  • "PHP Engine Explained: an Introduction to the Zend Virtual Machine" (Julien Pauli)
  • "In the Shoes of a Hacker. Creating a Cryptovirus for PHP Apps" (Raul Fraile)
  • "Education Station: PHP on Firefox OS" (Matthew Setter)
  • "Introduction to Building a Programming Language" (Jacob Mather)

There's also all of the columns you know and enjoy covering Laravel Tips, the latest in the PHP community and a retrospective of the php[world] conference. You can pick up either just this issue or a full subscription from the php[architect] website.

Link: http://www.phparch.com/magazine/2014-2/november/

Community News: Latest PECL Releases for 11.25.2014

$
0
0
Latest PECL Releases:
  • termbox 0.1.2 fix termbox_peek_event return value

  • strict 0.3.0 fix issue in 5 series

  • mongo 1.6.0RC2 ** Bug * [PHP-1266] - phpinfo() lists a default authentication mechanism (which may not be the default) * [PHP-1267] - Windows build failure * [PHP-1269] - Validate encoding and decoding of MongoBinData::UUID_RFC4122 * [PHP-1270] - MongoDate->toDateTime is only supported for PHP 5.3.4 and later.

  • ip2location 6.0.4 * new release

  • strict 0.2.0 initial release

  • ip2location 6.0.2 * new release

  • ip2location 6.0.3 * new release

Community News: Packagist Latest Releases for 11.25.2014

$
0
0
Recent releases from the Packagist:

VG Tech Blog: Using Local Packages as Composer Dependencies

$
0
0

On the VG Tech blog this latest post shows you how to use local packages as dependencies in your Composer-enabled applications.

Composer changed pretty much everything when it comes to including dependencies in PHP projects. No more SVN externals or copying large library folders into your project. This is really great, but there's one thing I've been struggling to find a smooth process for; developing dependencies for your project. When implementing your project, the need for some module, library, service provider or something else will arise, and sometimes you'll have to implement it yourself. So, how to do that?

He starts with a list of three suggestions (including actually having the code in the project or mirroring the package) but suggests the last of the three: using a repository with a relative file system setup. He uses the "repositories" configuration option in the Composer config to define a "vcs" type and gives it a path to the package contents. He ends the post with the resulting output of the Composer install command, showing the package pulled in and being able to commit to it just like any other repo.

Link: http://tech.vg.no/2014/11/25/using-local-packages-as-composer-dependencies/

Rob Allen: Using Phing to SSH into a Vagrant box

$
0
0

In a quick new post to his site Rob Allen shows you how to have Phing SSH into a Vagrant box as a part of the VM creation process. In his case, he uses it to run database migrations.

Now that I've started using migrations, I've discovered a minor irritant. I run this project on a Vagrant VM and have discovered that I keep forgetting to ssh into the vagrant box before running the migrations script. The obvious solution is to automate this and I decided to use Phing to do so.

He walks through the installation of the libssh2 software (if you don't already have it) and the ssh2 PHP extensionSshTask to make the connection as the "vagrant" user and execute the given PHP command.

Link: http://akrabat.com/php/using-phing-to-ssh-into-a-vagrant-box/

Anthony Ferrara: Alternatives To MVC

$
0
0

Following up on his previous article talking about the MVC design pattern (and the idea of "MVC"), Anthony Ferrara has posted some alternatives to MVC for your consideration. These other options are mostly variants of the typical MVC structure and could be considered "siblings".

Last week, I wrote A Beginner's Guide To MVC For The Web. In it, I described some of the problems with both the MVC pattern and the conceptual "MVC" that frameworks use. But what I didn't do is describe better ways. I didn't describe any of the alternatives. So let's do that. Let's talk about some of the alternatives to MVC...

He starts by restating some of the major issues with the typical MVC implementation (three of them). From there, he covers each of the alternatives with a summary paragraph or three about each:

He talks about the similarities between them, mainly that they're all "triads" of functionality and that they all have the same basic purpose. He also suggests that they're all "pretending" to be application architectures.

If it's not clear where something fits in your application, that's a sign that your application architecture is flawed. Not that you need to introduce some magic in to get it to work. So let's admit that none of these are application architectures... And let's admit that there is a problem we need to solve.
Link: http://blog.ircmaxell.com/2014/11/alternatives-to-mvc.html

NetTuts.com: Digging in to Laravel's IoC Container

$
0
0

NetTuts.com has a new tutorial posted that digs into the Laravel IoC (Inversion of Control) container, one of the key features of the framework making it easy to create and use objects all around your applications.

Inversion of Control, or IoC, is a technique that allows control to be inverted when compared to classical procedural code. The most prominent form of IoC is, of course, Dependency Injection, or DI. Laravel's IoC container is one of the most used Laravel features, yet is probably the least understood.

He starts with an example of basic dependency injection (constructor injection) and how this relates to the Laravel framework's IoC handling (hint: it's all IoC). He includes examples of some built-in Laravel bindings and talks about the difference between shared and non-shared bindings. He also looks at conditional binding, how dependencies are resolved and how you can define your own custom binding implementations. Other topics mentioned include tagging, rebounds, rebinding and extending. He ends the article with a look at how you can use the IoC outside of Laravel too.

Link: http://code.tutsplus.com/tutorials/digging-in-to-laravels-ioc-container--cms-22167

SitePoint PHP Blog: Geospatial Search with SOLR and Solarium

$
0
0

The SitePoint PHP blog has a new post from Lukas White that gets into the details of combining SOLR searching with Solarium to perform geospatial queries.

In a recent series of articles I looked in detail at Apache's SOLR and Solarium. To recap; SOLR is a search service with a raft of features - such as faceted search and result highlighting - which runs as a web service. Solarium is a PHP library which allows you to integrate with SOLR - whether local or remote - interacting with it as if it were a native component of your application. If you're unfamiliar with either, then my series is over here, and I'd urge you to take a look. In this article, I'm going to look at another part of SOLR which warrants its own discussion; Geospatial search.

He uses a simple example, locating airports near a given location, to give a more "real world" idea of how it all works. He starts by introducing the concept of geospatial searching and the idea of "points" as they relate to a specific location. He then gets into the actual setup of the application, including the SOLR schema configuration and making the queries on the data. The Solarium library allows for simple location queries when given just the "latlong" helper type and the location/distance to use for the starting point. He uses the data from the OpenFlights service to gather the airport data and creates a search form and basic list output of the results from searches on it. If you'd like to see the end result in action, check out this demo website.

Link: http://www.sitepoint.com/geospatial-search-solr-solarium/
Viewing all 1515 articles
Browse latest View live