Tag Archive | "PHP"

Tags: , ,

How to tell if you’re a bad programmer

Posted on 21 October 2011 by Demian Turner

A great read: Bad Programmers

Comments (2)

Tags: ,

PHPstorm version 2 is out

Posted on 15 February 2011 by Demian Turner

download PHPstorm 2.0 – very cute installer image 😉

Volumes PhpStorm 2 0 2

Comments (0)

Tags: ,

Mashable Interview

Posted on 03 December 2010 by Demian Turner

I was fortunate enough to be interviewed on Mashable by Jolie O’Dell recently, cited as a “PHP expert” :-)

Here’s a full transcript of the original email interview, some responses make more sense in context:

Am running a bit behind but here are my answers for your interview, please let me know your feedback and if this gets published:

–What advice would you give to a developer just starting to learn PHP?

– keep on top of best practices including a healthy approach to security
– read the code of seasoned devs, there’s always a better/cleaner way to do things
– ensure your code is human readable, if you can’t understand it 6 months later, how will it be for other devs
– always try and simplify your interfaces, it’s much more difficult to write simpler code but consistent refactoring will save you a lot of time and headaches when it comes to maintenance
– don’t reinvent any wheels, you will always have more than enough to program, use reputable libraries whenever you can avoid writing the code yourself
– read up on some of the great programmers (eg: http://www.codersatwork.com/) and find out how they stayed passionate about the art of programming so many years later

–In your opinion, what’s PHP’s biggest strength? Biggest limitation?

I think it’s easier to start off with its biggest limitation first: so many people criticise PHP that you’d be tempted to think it’s a rubbish language; that couldn’t be further from the truth. The biggest limitation is _aspects_ of PHP are easier to learn than comparable aspects in other languages, so PHP attracts a lot of “developers” who don’t have a clue, write horrendous code, show their ignorance in forums and generally dangerously decrease the signal to noise ratio for the rest of us.

When I first started with PHP in 2000 I remember discovering of project by a German developer that struck me as very well designed yet according to the critics this should have been impossible:
– it was done in one of the earliest versions of PHP4 (4.0.0, released in 22 May 2000, http://php.net/releases/index.php) yet still displayed all the sophistication of someone who understood software engineering
– the language itself supposed had all sorts of limitations and defects that meant using it for OOP was technically impossible: wrong

See for yourself, still not updated since 2000 and still probably better than most PHP that gets written today:

http://www.phpdoc.de/

The point is a simple one: if you’re a developer who has the discipline to learn about software development, PHP can be an excellent tool.

The strengths of the language are simple and obvious:
– it stays close to its C roots while removing some of the unnecessary pain points like memory management, pointers and the compile cycle
– the OOP implementation is simple, elegant and easier to read than its peers
– the Java mantra of “complexity at any cost” is nowhere to be found, concise method names are used throughout
– libraries and extensions exist for pretty much every technology on the planet
– hacking activity and community participation most likely the highest of any programming language

There are however a few difficult situations that are directly linked and result from the above positive list:
– there is too much choice when it comes to selecting a library or framework to work with, and the information available is often biased and unreliable (posted by teenagers) so a lot of time can be wasted searching for quality
– the core development team is somewhat hysterical and not professional at times which has resulted in backwards compatibility being broken often, and in unacceptable ways, and our current namespace implementation
– there currently isn’t any decent IDE for PHP, not something comparable to what’s available for Java. This became increasingly obvious when I got into Objective C and Mac development, Xcode really sets the standard. A new candidate that seems promising and is non-free is PHPstorm, so far I’ve found it a relief to use compared to Netbeans. Eclipse, on the Mac at least, I don’t think is even in the race.

–For more intermediate or advanced PHP devs, what are some tips that have helped you along the way?

One of the key problems with PHP is the absence of any authoritative standard library, something which is literally taken for granted in Java, Python, Ruby, Perl and others. PEAR could have been it, but Zend chose to fork for political reasons, now we have the Zend Framework which is not really a framework but more like a library, and it still has some serious quality consistency issues. It seems ZF will likely become the dominant PHP library, but work still needs to be done by the community to refactor the “frameworky” libraries, ie, those that have dependencies on Zend_Config, Zend_Registry, etc. Documentation for many of the ZF libraries is flaky and incomplete, often the comments contain the clues you need to get things working.

In terms of tips, I’d make the following suggestions for devs who are keen to move out of beginner status:
– don’t be afraid of using an interactive debugger, available in decent IDEs like PHPstorm and also Netbeans and Eclipse if you have the patience, this is the best way to understand what the code is doing. If you’re using print_r($foo) you’re a beginner.
– don’t be afraid of unit tests, not only will you have an easier time maintaining your codebase, but often unit tests are the best form of documentation for a codebase, and will allow new devs to get up to speed fast
– use some of the available static analysis and IDE tools to help you refactor your code, good code is not subjective!

–What’s the best app or most clever hack you’ve seen that uses PHP? (Links, please!)

Facebook? Although from the code leaked a few years ago, the quality was primitive.

Comments (3)

Tags: , , , , , , , , , , ,

Bookmarks for June 11th through August 20th

Posted on 20 August 2010 by Demian Turner

Recommended reading

Comments (0)

Tags: , ,

Learning PHP, MySQL, and JavaScript

Posted on 02 June 2010 by Demian Turner

Learning PHP, MySQL, and JavaScriptO’Reilly asked me to be a technical reviewer for this book by Robin Nixon, I forgot to mention that it was published several months ago.

If you’re a newb I recommend giving it a read, you can pick up a copy on Amazon.

Comments (2)

Tags: , , , ,

PHP interns in Paris required

Posted on 13 April 2010 by Demian Turner

Soluo is looking for an intern in PHP Web Programming to join the development team in Paris. The focus of this internship will be the core developement of a SaaS Web Application. The intern should start by April 2010.

You will be involved in Web Application design and development, third-party integrations (Social Networks such as Twitter, LinkedIn, Facebook) via Web Services / API / XML, development and integration of reporting tools, design and implementation of SQL databases.

We are offering an enriching experience, within a small and agile team, mentored by a senior architect. And hey, maybe you could end up joining the team? Forgot to ask how good is your sea-legs as you will be working in an amazing boat on the Seine. But don’t worry, you should get used to it within 2 weeks.

In this internship you will:
• develop sclalable, secured and reliable Web Applications
• integrate third-party applications
• use Social Web platforms to enhance the App (LinkedIn, Twitter, Facebook, …)
• learn to optimise and enhance through iterations
• get satisfaction in seeing the product launch before the end of your internship
• learn and implement development best practices

You are:
• passionate about Web Application Development
• curious and proactive
• constantly reseraching innovative solutions
• enthusiastic about getting involved in a startup

You have:
• strong skills in PHP5 and MySQL and knowledge of at least one php framework
• experience in OOP, Test Driven Development and Agile Methods
• good system administration skills
• a good level of English

You like:
• being autonomous in your work
• working in small teams
• to speak/write English obviously
If you think this is you, just drop us an email at recrutement*_at_*soluo.fr, specifying the reference webdev1003.

Tell us about a challenging project you are proud of which you have realised in the framework of your studies. We will get back to you.

Comments (0)

Tags: , ,

PHP shell rocks

Posted on 09 November 2009 by Demian Turner

shellI’ve written about this before, but since the interactive mode of PHP (php -a) seems to be broken on OS X, I think it’s worth singing the praises of Jan Kneschke’s php shell project once again.

It’s a piece of cake to install the tool with the PEAR installer, and since I last used it 2 great new features are on offer:

  • tab completion for all (or many) PHP functions and built-in classes and interfaces
  • handling of fatal errors

What a relief to have this working again!  I was ssh-ing onto my Fedora servers just to test out code but of course this became impractical pretty quickly.  And did I mention it runs great on PHP 5.3?

And if you’re tempted to use the similarly named phpsh project from the Facebook open src stables, I can confirm this is not an option with the latest version of PHP.

Comments (0)

Tags: , , , , ,

PHPterror on OXID eShop

Posted on 26 August 2009 by Demian Turner

puremvc-patternsI can’t believe Zend is publishing articles on OXID eShop, this is definitely some of the worst code I have seen in ages.

As “the PHP company” I think Zend ought to at least select projects that have some merit in terms of software design, as surely beginner PHP devs look to Zend for good examples and copy/emulate whatever they showcase.

PHPterror took a closer look at some of the OXID code, really jaw-dropping stuff.

Comments (4)

Tags: , ,

Introducing PHPterror: bad PHP usage exposed

Posted on 24 August 2009 by Demian Turner

unit-testing-webdesigner

A new look at how to create unit tests – using Photoshop!  Sense of humour required …

Comments (1)

Tags: , ,

Working with unreliable APIs

Posted on 27 July 2009 by Demian Turner

Bad API

Thanks to Andrew Betts, a PHPlondon regular, for coming up with BadAPI, a service that allows you to simulate misbehaving APIs.

These days there’s almost no such thing as a web app that’s not integrating data from various external APIs, and with that integration comes a new set of problems the developer must handle.

From the BadApi website:

BadAPI allows you to simulate misbehaving APIs. This is useful if your site relies on the availability of service X, and you want to ensure that any downtime experienced by that service has minimal impact on your own application.

Comments (1)

Categories

Books

Demian Turner's currently-reading book recommendations, reviews, favorite quotes, book clubs, book trivia, book lists

Facebook