Is PHP the redheaded stepchild of Web Development?

January 16th, 2015


In defense of poor old PHP! The language everyone loves to hate … but so many still uses!

Each language has its’ strengths and weaknesses. So the one you choose is largely a personal thing. That said, the stats don’t lie, most of the dynamic Web runs on PHP.

If any Ruby, Java or Python zealot fundamentalist attack, just mention that Facebook is PHP based. Game, set and match.



Learn PHP with Stefan

January 6th, 2015


After a long delay (I wanted to get it right) my new subscription based training site is up and running – check out

Why join webmentor?

All my new videos will be there, you can ask questions right on the video pages, you have full access to the source files and my classic videos (that are still relevant) have been remastered in HD.

I’ve even written up a page on why learning PHP makes sense.

That’s all for now.

Stefan Mischook

PHP programming in 2015

December 11th, 2014

php logo


The new year approaches and once again I will give you my assessment of where PHP will be in 2015. You might think me biased given killerphp is the name of the site … but you would be wrong. I am always ready to throw out a technology that no longer deserves my attention.

… That’s why I know 8-9 languages. And to be totally transparent, I’ve logged many more programming hours with Java than I have with PHP. That said, where goeth* our lovely PHP in 2015?

PHP in 2015

These days I hear the young nerdlings are all enamoured with Python. Yes, Python is a fine language and worthy of praise. But is it better than PHP? And what about the jobs – how much Python work is out there to be had?

Let’s start with the most important number: over 80% of dynamic sites run on PHP! Not Python, not Ruby. Nope, little old ugly PHP runs 80% of web apps in the world! From what I hear, web development firms have lots of PHP work but are finding it increasingly difficult to find PHP programmers.

… With scarcity comes higher prices.

PHP Frameworks are sooo 2015

Like all the mature languages out there, PHP has a nice selection of web frameworks to choose from, and ultimately, you as a budding web developer will have to learn at least one. In 2015 Code Igniter is out (although there are many legacy CodeIgniter apps that will have to be maintained) and Laravel is in.

… Anyway, once you learn one PHP web framework, learning another is not too hard. They are all MVC based and so they all work pretty much the same way. That said, some are better than others.

In a future article I will put my finger to the wind, and get into WHICH PHP framework is probably best in 2015.

Happy new year!

Stefan Mischook

Goeth defined: archaic third person singular present of go.

Which PHP Framework is best?

October 31st, 2014


I get asked a lot: which is the best PHP framework? Or, should I choose PHP framework A or should I should PHP framework B?

The short answer: it depends! See below for the deeper answer.

When considering a framework, besides checking out what the uber-nerds are talking about at the time, consider the current cutting-edge thinking about frameworks in general, and be sure your choice of a framework, is up-to-date in that regard.

The no-framework PHP framework

For example, the move these days, is towards the ‘no-framework framework’ style of framework – that’s a tongue-twister! Basically, the more advanced a framework is, the more open it is.

You should be able to drop in components as you need then from any source. So for instance, if you don’t like the ORM layer in a framework you happen to be using, you should be able to easily plugin some other ORM.

At the end of the day, learning one framework or another should not be considered the end of the path – you should expect to have to learn a new framework from time to time … as things mature. The good news is that once you’ve learned your first MVC framework, the rest will come pretty easily since they are all based on the same basic concepts and patterns.

So, choose whichever framework you feel like!

Stefan Mischook

What are PHP Web Frameworks?

October 25th, 2014


This is a video (see below) targeted at those who understand basic PHP and are ready to explore the web development world a little further. You see, when you get into PHP, you will also have to learn about the client-side frameworks out there, things like jQuery and Bootstrap.

… PHP afterall, is typically used to create dynamic web pages filled with HTML, HTML5, CSS, CSS3 and JavaScript. So that means you need to learn how to code in those languages as well. Fortunately if you know PHP, it shouldn’t be too hard to wrap your head around them.

What are Web Frameworks?

Think of a framework for a house, scaffolding … or cookie cutters! Web frameworks are just libraries of code (could be code in any language) that speed up the process of doing all kinds of common web design and development tasks.

Anyway, watch my video to learn more:

Stefan Mischook

New Video Training Site from Killerphp

September 8th, 2014

Hi Guys!

So, I am just announcing our new video training subscription service we built using Laravel and Twitter Bootstrap … among other things. Check it out:

What makes different than what we’ve had in the past? Again, check it out:

  • All the new videos will be in HD.
  • All videos are responsive and resizable.
  • Videos can easily be played back at different speeds.
  • Ask questions and make request – we will do our best to answer!
  • All courses are date stamped.
  • The system shows you which videos you’ve started to watch and which you’ve completed.

This is just the early launch (late stage beta but only a day away from version 1), so we’ve populated the system with our courses that are still good .. though they were created a little while ago. That said, we have brand new courses that cover HTML5 and CSS3 effects. A lot more coming over the next several months. Here is a sample:

Fullscreen background video with CSS3.

Thanks for reading!

Stefan Mischook

Teach High School Programming with PHP

August 1st, 2014

k12 web design

Let’s start with the conclusion: PHP is a great language to start teaching middle and high school students programming. My 10yrs + of teaching web design and programming has taught me that.


PHP is a much more approachable language compared to other popular languages out there.

For example, Ruby is a great and powerful language but you have to grasp some pretty advanced concepts to just get going with it. If you look at PHP, it has an easy to understand layer that can be used as a gentle introduction to programming.

Ok, now to the main article:

Many K12 teachers are now being asked to teach web programming/development for the first time. This presents a challenge since few teachers have professional programming experience.

I was approached about two years ago by a couple of schools who needed a way to more easily teach web programming and web design. Luckily, I had been working on an application that would more than just help: Studioweb is an interactive web design and programming training system that automates the teaching process:

  • automated quizzing
  • automated scoring
  • automated hinting

All based around a proven turnkey curriculum that I’ve been training people with for years.

The Key to Modern Web Design and Development

Web design/development has evolved a lot over the last 20 years, the way webapps are built today is nothing like the way we did it back in the early 1990’s. It is so different in fact, that web programmers/developers from that time, would almost have to completely retrain themselves!

Today, creating web apps is about:

  • CSS and CSS3
  • Responsive web design – Bootstrap
  • PHP & MySQL
  • JQuery
  • JavaScript

There are other server-side programming languages that are used a lot today – for example:

  • Java
  • Ruby
  • C# (.Net)

… But far and away, PHP is the most widely used programming language out there. Something like 85% of sites run PHP!

The Recognition of the Importance of Code

One of the biggest changes in the last few years, is the world’s realising that code is now as important as reading, writing and math. When kids learn to code, you give them a practical skill set along with problem solving experience … all the while, you reinforce logical thinking.

Studioweb focuses on teaching real-world web design and programming techniques as well as the key fundamental concepts. Students come away with demonstrable skills that can be applied in the real world on real projects. The aforementioned cognitive benefits come as a bonus.

If you want to learn more or if you are interested in trying out Studioweb, feel free to contact me.

Stefan Mischook

A Gentle Introduction to PHP

June 22nd, 2014

For web designers coming to PHP for the first time, programming can seem pretty complex. The main reason it feels that way, is because many PHP tutorials are not created by teachers … they are created by young programmers who have never taught before.

… Believe it or not, there is a skill and a method to teaching.

Learning PHP made easy

My beginners course on PHP has a proven track record of being ultra-simple – anyone can learn PHP with Beginners PHP. Not the most exciting name for a course but nonetheless, I can guarantee you will learn PHP after doing it.

If you have any questions, feel free to write me.

Stefan Mischook

My new site

June 18th, 2014



It took us a week but my site on Apple’s Swift programming language has officially launched!

I decided that (once again) I had to walk my talk and explore a new programming language. Swift is a good one to learn for several reasons:

  1. Swift is an ultra modern language. It’s always good to be clued into the cutting edge.
  2. Swift will open up the doors to speedy iOS programming. There’s good money in them Apples!
  3. It looks like a lot of fun!

So there you have it PHP nerds. If you are looking to stimulate your programmatic brain or maybe expand the type of (programming) work you can do, Swift is something worth learning.

Stefan Mischook

Upgrading to Apache 2.4.9, Laravel and Dumping CodeIgniter

June 10th, 2014


We just upgraded our servers to Apache 2.4.9 (and PHP 5.4.29) so that we could use the Laravel PHP framework.

The upgrade was pretty flawless, save two minor issues: one with a WordPress plugin and the other was with a PHP.ini setting that was no longer supported in Apache 2.4.9.

… This caused CodeIgniter to show a 500 internal sever error. CodeIgniter error handling stinks. That alone is reason enough to dump CodeIgniter.

Apache 2.4.9 is fast!

As an added bonus, we were pleasantly surprised to find that Apache 2.4.9 is significantly faster than what we had been running – Apache 2.2.27.

It’s best to keep your server software up-to-date to take advantage of performance improvements and security fixes. If you let your software get too out of date, the eventual upgrade could be a nightmare as radical changes to software, is more likely to break things than minor upgrades.

Stefan Mischook

Apple’s new programming language Swift just Killed Objective C

June 3rd, 2014



I just watched the presentation on Apple’s new programming language: Swift. This means the end for Objective C and it fundamentally changes the world of iOS programming.


It is much easier to learn and much easier to work with and so we will see it used by a lot more programmers.

About the Swift Language itself:

It looks like a modern scripting language that shares similarities to Python and other modern nimble languages. I just took a quick look at some Swift code and it is indeed much easier to learn than Objective C.

Take a look at this:

let label = "The width is "
let width = 94

For the constant (created with the keyword ‘let’) you don’t necessarily need to declare the type of data that your constant is holding (if you will) Swift is smart enough (many times) to detect the data type automatically. For example:
let width = 94

… It seems pretty clear the ’94’ above is an int and not a string.

When there are situations where the initial value of your constant does not provide enough information with regards to its’ type, then you can specify it’s value like so:

let explicitDouble: Double = 70

Casting Types with Swift:

Since it seems Swift is NOT loosely typed like PHP and JavaScript, you need to explicitly convert data types. So for example:

let label = "The width is "
let width = 94
let widthLabel = label + String(width)

In the above code, I had to convert my ‘width’ constant from an integer (I’m sure Swift set ‘width’ to int when we declared the constant) .. to a string using: String(width)

Anyway, I just started looking at this language 20 minutes ago and I have a lot to learn! But, from what I’ve seen so far, and from what I’ve seen with the new Xcode tools and Swift Playground (which gives you live feedback of your code) I think this could be a great language to learn and teach with.

More to come I think.

Stefan Mischook

How to Become a Web Developer – the Video!!

May 7th, 2014


Based on my previous blog post, in this video I talk about what you need to do to become a web developer:


Stefan Mischook

How to Become a Web Developer

April 30th, 2014

light bulb


The following details the steps you need to take to become a web developer – this is a question I get all the time by the way … you are not alone!

#1. Learn to code. You need the skills before you can sell them! Today (2014-2015) you need to learn the following technologies in this order:

  • HTML
  • CSS
  • JavaScript
  • HTML5 & CSS3
  • JQuery
  • Twitter Bootstrap
  • PHP
  • SQL & MySQL
  • Object Oriented PHP (OOP in PHP)

To be clear, you don’t need to master all these before you get to step #2, #3 and so on … But you do need to see these as the ultimate goal.

… In fact, you could quickly move into step #2 once you have a good understanding of CSS and HTML under your belt. As you learn more though, you will be able to take on more jobs (simply because of the greater variety of skills you will have) and raise your pay/salary as you become more valuable and more experienced.

If you want to read the rest, download the pdf.

I hope you find this useful.

Phone: 1-855-932-8091

Top 10 Web Programming Teaching Tips!

April 24th, 2014

studioweb logo


This blog post is for teachers teaching web programming and design … but if you are learning PHP (or any other language) many of these tips will be helpful to you too.

Let’s start with a teaser:

1. Start with an Easy Language:

Don’t use hard to understand languages like Java, C#, C++ to teach beginners programming! Stick to simpler languages like PHP, Ruby, Python or JavaScript. Once your students have a grasp of basic programming concepts, then you can move into the more complex languages … if you need to!

2. Don’t teach A to Z:

Teaching people to code has a lot more to do about leaving out the non essentially elements of a language. Don’t cover every nuanced aspect of the HTML link tag, don’t cover all the ways a method can be created in PHP … leave out the less often used aspects of a language and save it for later. Just expose your students to the key aspects of the language, just enough so they can move forward.

If you want the other 8 tips, follow this link.


Stefan Mischook

The #1 Rule of Programming

April 22nd, 2014



There is a lot to learn when it comes to PHP programming … actually, there is a lot to learn when it comes to programming, regardless of the language. Here are my top for programming tips.

Stefan’s #1 Rule of Programming:

You will not remember everything you learn.

All the methods, functions, design patterns and other constructs found in PHP are far too many to for any human to remember. That’s why god invented Google and

… A good book can help too!

The most important thing to remember when learning PHP, are the basic concepts and practices. So I am talking about things like, function, arrays, classes, recursion, MVC et cetera. Again, it is not important that you remember the specific syntax – that you will forget in time. No, it is only important you understand what these things are and WHY you would use them.

Read the rest of this entry »

How important is the choice of programming language – in app creation?

April 14th, 2014


I am a big advocate of PHP but you have to ask yourself, how important is the choice of programming language, given so many great apps are created with many different languages? Think about it:

  • Twitter – created with Ruby
  • Facebook – created with PHP
  • LinkedIn – created with Java

I get deeper into this topic in this video blog:


Stefan Mischook

Should you use JQuery less and do more raw Javascript?

April 13th, 2014


Not strictly PHP … actually, this is not PHP at all! But it is still relevant to any active PHP coders because you will need to use JavaScript with PHP – that is almost a certainty.

Someone put this question to me recently:

What’s your opinion on using pure JavaScript over that of Jquery and other libraries, do you think having a strong understanding of pure JavaScript is vital when using Jquery and other libraries?

My Personal opinion is that you should use pure JavaScript regularly because more likely then not you are going to be doing either edits to Jquery or making custom Jquery plugins. I ask this because i feel we are becoming dependent on Jquery and missing the point that it is just JavaScript at its core. 

My answer:

That’s a great question! My instinct is to say we need to know mechanics of things and so it makes sense to not rely too heavily on JQuery. But the reality is different!

You see, just about every language and framework we use today, builds upon some lower level base that most of us are not even aware of. So for instance, Ruby and PHP are written in C, so shouldn’t we go down to C and learn that? No!

Back to JavaScript; you need to know basic JavaScript and how to manipulate the DOM without JQuery. But in day-to-day coding work, you SHOULD use JQuery and other libraries because they’ve been debugged and handle a bunch of boilerplate tasks … things that you should not have to deal with.

If by chance you see a need to create a JQuery plugin or you need to do some highly custom JavaScript … then go deeper into then. For now though, you have too many things on your plate to worry it!


I am not sure if I should be quoting myself?


Stefan Mischook

CodeIgniter Creators are out, should you be too?

April 13th, 2014


Someone asked me recently if I though the CodeIgniter core libraries would still be supported given that the creators of CodeIgniter have officially dropped it. I could write about it, but a quick vblog is easier … here you go:


Stefan Mischook

Why you should NEVER use inheritence in your PHP OOP Code!

April 9th, 2014


First all of, I have to say that I love this guy on the right!!


Anyone who knows object oriented programming is probably having kittens now! How can a nerd like Stef be dissing one of the fundamental tools in our OOP toolbox? Isn’t inheritance one of the key tools that makes code reuse possible?

Well, only in the case of foundation code. Very few of use write that kind code. Most of us are writing business objects and business objects should be using interfaces and object composition.

What is foundation code?

Think the core of web servers, the core engines in database servers. All the stuff that is pretty much written.

Share object code as complete objects, leave the code alone!

Code Reuse doesn’t come so much from reusing code found in one class and using inheritance to bring it into another. No, it’s more about reusing objects across projects and reusing COMPLETE objects within the same project.

Composition over Inheritance

Favor combining objects (this is called composition) rather than creating new objects that inherent functionality from parent classes. Why?

Because inheritance creates fragile dependencies – if some nerd comes a long and decides to rewrite some of your base classes – you will be screwed! I’ve seen it firsthand. It’s not a pretty site: nerds screaming and yelling, app functionality breaking in 10 different places … nerds throwing wussy punches with the intent to do damage.

.. But since they are nerds, no one really gets hurt.

With composition, your objects are loosely bound. That means it’s easy to swap objects in an out of your code base, since your objects are not dependent on the INTERNALS of another object – something you get (unfortunately) with inheritance.

Keep your objects small, highly focused and dumb.

Objects should have very specific task and they should be dumb to what’s going on around them.

Objects should take in an input and spit out a generic output. You don’t want the behavior of your objects to be easily influenced by outside forces. If you want to modify what an object does for you, just grab the output from said object and modify the OUTPUT with another objects methods.

… Keeps the objects dumb I says!

Stefan Mischook

Creating a PHP Survey Form

April 4th, 2014

Learn PHP by Building Web Applications


We recently had a question on the PHP forums where a guy was trying to create a PHP survey form and though he had bought the Complete Web Programmer package, he did not know which way to go.

All he had to do was do the video course: “PHP and Javascript Form Validation”. Whether you are doing a survey form or a contact form (as we cover in the above course) … it doesn’t matter because it is all the same at the basic level.

The conversation in the forum (PHP forms) fills in more details.


Stefan Mischook

Created By Stefan Mischook  |  Top of page  go to top of page