News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Dracony:
Replacing controllers with middleware
April 01, 2015 @ 09:53:50

Dracony has a new post to his site that suggests replacing controllers with middleware and how it relates to some of the current controller practices.

Middleware is now a very popular topic in the PHP community, here are some of my thoughts on the subject. [...] The idea behind it is "wrapping" your application logic with additional request processing logic, and then chaining as much of those wrappers as you like. So when your server receives a request, it would be first processed by your middlewares, and then after you generate a response it will also be processed by the same set.

After giving a few examples of what could be a good fit for use as middleware, he makes the suggestion to replace controllers. He talks about some of the problems that middleware brings with it and how to turn things around and write controllers as middleware (and not wrap them in it). He finishes with a mention of the work being done on PSR-7 (the HTTP Request proposal) and some thoughts on how it could fit into his middleware ideas.

0 comments voice your opinion now!
middleware controller replacement opinion psr7 http

Link: http://dracony.org/replacing-controllers-with-middleware/

Matthew Setter:
Can VIM Ever Replace PHPStorm?
March 02, 2015 @ 10:54:13

In an interesting new post to his site Matthew Setter wonders if an IDE like PHPStorm can be replaced by VIM, a standard in the editor community for decades.

Is it reasonable, even practical, to expect that a 30 year old application can match a modern one? Is it conceivable to be able to code as well using VIM, said 30 year old application, as I can in PhpStorm, with all the IntelliSense-lead functionality PhpStorm offers?

He starts with some of his recent experience with the editor and some of the things he's (happily) found it can do he didn't know before. He includes a screenshot of a multi-pane view, explains what each is and what he can do with them. He points out that this example is Markdown documents but it can just as easily be used for code too. Finally he talks about the subject any PHPStorm user wants to know about, the IntelliSense functionality. Unfortunately, while there are some tools he mentions that can do similar things, they don't provide the context PHPStorm can deliver.

He ends the post with an interesting question: is IntelliSense the right approach? He wonders if having more context is a better answer rather than just the auto-complete handling IntelliSense offers.

0 comments voice your opinion now!
vim editor replacement phpstorm opinion autcomplete context screenshot

Link: http://www.matthewsetter.com/can-vim-ever-replace-phpstorm/

SitePoint PHP Blog:
A Look at Hack, the PHP Replacement in HHVM
February 20, 2014 @ 10:43:27

On the SitePoint PHP blog today Victor Berchet introduces HACK, the "replacement" for PHP inside the HHVM (HipHop Virtual Machine) from Facebook's development group. This is part two in the HACK/HHVM series.

HACK is an evolution of the PHP language designed to be safer, to enable better performance and to improve developer efficiency. Note that both HACK and PHP are equally supported by the HHVM. Despite the fact that HACK is in use at Facebook on all the production servers, only little info has leaked for now. In a nutshell, HACK is Facebook's PHP6 - it proposes to fix most of what's wrong with PHP today, while adding some new features like static typing along the way.

He starts with a look at typing and the static typing HACK uses instead of the dynamic typing of the normal PHP language. He mentions the "gradual typing" functionality, strict mode and the use of annotations. He also talks about XHP, the PHP extension that allows XML fragments to be translated into valid PHP (example included). He finishes off the post looking at a few other topics including asynchronous code execution, FastCGI support and the integrated debugger.

0 comments voice your opinion now!
hack facebook hhvm language introduction replacement

Link: http://www.sitepoint.com/look-hack-php-replacement-hhvm

Matt Farina's Blog:
SplFixedArray, An Underutilized PHP Gem
September 09, 2011 @ 10:43:11

Matt Farina has a new post today looking at an "underutilized gem" he's found in the offerings of the Standard PHP Library (SPL) - the SplFixedArray.

Arrays in PHP are not arrays per the typical array data type. Instead, as Matt Butcher recently pointed out arrays in PHP are similar to hashes in other languages. This can be a very important point to know when tracking down bugs in code and to programmers coming to PHP from other languages. But, what if we wanted something like a traditional array data type? Maybe something that preserved numeric order. Enter SplFixedArray.

He gives an example of using the SplFixedArray object versus the normal array variables in a simple PHP snippet showing the preservation of numbering order. He also touches on the memory consumption difference between the two, with the fixed array coming in quite a bit lower than the normal array data type (around 25% based on his basic testing). There are some catches to using it, though including incompatibility with array methods and the fact that it doesn't implement things like Iterator or Countable interfaces.

1 comment voice your opinion now!
splfixedarray array replacement issues performance memory usage


DZone.com:
How to remove getters and setters
February 23, 2011 @ 12:02:17

On DZone.com's Web Builder Zone Giorgio Sironi has posted a few methods you can use to help get rid of getters and setters in your OOP PHP applications.

Encapsulation is (not only, but also) about being capable of changing private fields. If you write getters and setters, you introduce a leaky abstraction over private fields, since the names and number of your public methods are influenced coupled to them. They aren't really private anymore:

To show his alternatives, he uses a sample "User" class with a whole list of private properties. There's initially a get/set for the nickname and password values, but he suggests a few replacements:

  • passing values in through the constructor
  • using the "Information Architect" pattern to have the most responsible method handle the value setting
  • the "Double Dispatch" method that uses dependency injection
  • using the Command pattern and changesets of data

He also briefly mentions the Command-Query Responsibility Segregation (CQRS) method, but doesn't have any code example to go with it.

0 comments voice your opinion now!
getter setter opinion remove replacement


David Sklar's Blog:
Fast Multiple String Replacement in PHP
October 01, 2010 @ 10:09:40

David Sklar has a new post to his blog today sharing an extension he's created to make replacing strings in PHP a much faster task - Boxwood.

A straightforward way to do [string replacement] in PHP is to pass an array of words to look for and their replacements to a function like str_replace() or str_ireplace(). Or, similarly, use a regular expression that gloms the search terms together (and potentially checks word boundaries.) There are assorted WordPress plugins that work like this. The problem with this approach is that it's really slow. Especially if you have a lot of words you're looking for. The amount of time it takes to do the search and replace grows in proportion to the number of words you're looking for. This is particularly unfortunate because usually, none of the words are ever found!

With the Boxwood extension, the word list can be as long as needed because it uses an ordered tree structure (trie) to parse the entire tree only once so there's much less overhead.

0 comments voice your opinion now!
multiple string replacement extension boxwood


Richard Heyes' Blog:
PEARDB replacement class updated
June 20, 2007 @ 08:43:00

Richard Heyes has made some updates to his PEAR::DB replacement class today, including:

  • Added numCols() function to the DB_result object
  • Added seek() method to the DB_result object
  • Enabled you to specify the fetchmode for getRow() and getAll()
  • Made the test script easier to navigate
  • Added reset() method to the DB_result object

You can find out more about the project here or just download this new version and check out the documentation to get you started.

1 comment voice your opinion now!
peardb class replacement pear database abstraction peardb class replacement pear database abstraction


Richard Heyes' Blog:
PEARDB database class(es) replacement
June 06, 2007 @ 12:39:00

In a new post Richard Heyes links to a replacement for the popular PEAR::DB package:

PEAR::DB is all well and good if you want to connect to multiple databases (I assume, I've never actually used it with anything other than mysql) but it is somewhat hefty on the bad side of 60k. Not a good thing if you're not using some sort of accelerator and have a high traffic site. Here's a class which replicates the PEAR::DB API (the bits that I use anyhoo) and weighs in at a much nicer ~11k. Sweet.

The class is posted for download here as a simple PHP source file with functions and values named similar to those in the PEAR::DB package.

0 comments voice your opinion now!
peardb package library replacement mysql small peardb package library replacement mysql small


ArtyPapers.com:
P+C DTR - PHP & CSS Dynamic Text Replacement
December 09, 2005 @ 07:19:02

In this post on ArtyPapers.com today, there's information about a new tool that allows the creation of PHP & CSS dynamic text replacement - P+C DTR.

PHP + CSS Dynamic Text Replacement is a JavaScript-free version of the Dynamic Text Replacement method originally created by Stewart Rosenberger.

P+C DTR allows you to take a vanilla standards-based (X)HTML web page and dynamically create images to replace and enhance page headings using only PHP + CSS. Sick of using the same three fonts? Tired of editing heading images in PhotoShop? If so, P+C DTR might be for you.

This is a definite must see if you do a lot of web work with something more creative than simple text. This tool allows you to create some very nice text in a short amount of time. And, because it's based on simple, open standards, its use is simple too...

0 comments voice your opinion now!
css dynamic text replacement css dynamic text replacement



Community Events

Don't see your event here?
Let us know!


podcast interview api release application introduction example performance php7 library laravel community symfony2 opinion series voicesoftheelephpant conference version extension framework

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework