Keeping Symfony Projects Up To Date

Keeping any project which uses a framework or a collection of 3rd party libraries up to date is an exercise in continuous upgrades. In my situation, I have dozens of projects on a variety of internal and 3rd party frameworks, so keeping everything updated – from the PHP version to the framework and library versions – is an important and time consuming process. Here are some strategies and techniques.

Continue reading “Keeping Symfony Projects Up To Date”

Custom Error Pages in Symfony Framework

As I make my way through some tutorials on SymfonyCasts and begin a re-write of my SyntaxSeed website from CodeIgniter to Symfony… I occasionally encounter something that took a bit more struggle than a simple web search. This is one of those tasks.

Symfony gives you some generic built in error pages, for example when you get a 404 missing resource error or a 500 error. When working in your dev environment you don’t see these, you instead get the nice Whoops error pages with extra details. Customizing the error pages requires a few steps.

Continue reading “Custom Error Pages in Symfony Framework”

Learn PHP For Experienced Developers

In my efforts to help a colleague, I discovered that there are few resources for people who are already programmers in other languages to learn PHP. Something that isn’t beginner level, doesn’t explain basic programming concepts… just get to the heart of what makes PHP unique, and some suggested quality resources to learn more.

This is what I’ve written here. It’s a high-level overview of the language, and some vetted resources to get set up and learn more.

Let’s get started…

Continue reading “Learn PHP For Experienced Developers”

Legacy PHP Application: PHP Code Sniffer Compatibility Standard

Part 1 of this series covers a tour of my 14+ year old legacy CMS called LampLight and it continues with my use of command line code analysis tools to migrate it from PHP v 5.6 to 7.3. In this part I’ll use PHP_CodeSniffer to check my applications compatibility with PHP v 7.3 and beyond.

Let’s not fuss around, and instead dive right into the meat of this post. At the root of my project I run:

phpcs --standard=PHPCompatibility --extensions=php,inc,lib -s --runtime-set testVersion 7.3- .
Continue reading “Legacy PHP Application: PHP Code Sniffer Compatibility Standard”

Legacy PHP Application: PHP CS Fixer & PHP Code Sniffer for PSR1 & PSR2

Part 1 of this series covers a tour of my 14+ year old legacy CMS called LampLight and it continues with my use of command line code analysis tools to migrate it from PHP v 5.6 to 7.3. In this part we’ll continue to use PHP CS Fixer to clean up the code, and will then move on to use PHP Code Sniffer for even more tidying.

My last few uses of PHP Coding Standards Fixer, are to check for PSR1 and PSR2 compliance. These PSRs cover a baseline of code style conventions common among PHP projects.

Continue reading “Legacy PHP Application: PHP CS Fixer & PHP Code Sniffer for PSR1 & PSR2”

Legacy PHP Application: Code Analysis With PHP CS Fixer

In part one of this series we took a tour into my 14+ year old legacy CMS called LampLight. It’s an oldie but a goodie and it needs some love because it’s still in use by a couple clients and myself. We are migrating it from PHP v 5.6 to 7.3. In this part we’ll use PHP CS Fixer to identify problems and clean things up.

PHP Short Tags and Closing Tags

Talk has been cheap for some time regarding the deprecation of the short opening tag <? for PHP, and its removal has had a few false starts. Finally, a PSR for this change has passed and it will officially be deprecated in v 7.4.

We also want to eliminate the closing PHP tag in files that contain only PHP. These two issues are quite straightforward, so let’s use these as an easy dip-of-the-toe into using command line code analysis tools to have a look at our code. We can even use these tools to make the changes for us.

Continue reading “Legacy PHP Application: Code Analysis With PHP CS Fixer”

Legacy PHP Application Tour & Upgrade

The process of migrating my applications from PHP 5.6 -> 7.3 has been a long one – mainly due to limited time to work on it, and additional tasks being added to the migration list. But I’ve finally made it through the low hanging fruit of easy client sites and am now migrating the first project with a significant amount of back end PHP code. In this case, it’s a legacy CMS I wrote 14+ years ago called LampLight Content Manager.

Continue reading “Legacy PHP Application Tour & Upgrade”

Decision Time: PHP Framework Dilemma

My freelance business has grown, and reached a critical decision point for my future development. I’ve been puzzling over this for a while – why not puzzle it out in public!?

I need to pick a PHP framework. Or maybe not pick one. But my dilemma is kind of unusual. I’d love the opinions of other experienced PHP devs! But hear me out, my situation is a bit unique.

Continue reading “Decision Time: PHP Framework Dilemma”