As you might know (or not) besides of Software Development I’m also passionate about photography. You can check my Instagram and website if you want. But this post is about my experience in “free freelancing” in both industries.
In software it was waaaay back when I was back in Poland and I had no experience whatsoever. I’ve done few websites “for portfolio”. It was fine. Scope we discussed was done. Problem starts when free job starts to need to be supported with more work.
As with my experience in both industries people will always want more than you’ve agreed on. And it’s not that much about making things for free as making it without “paper” which says what is the scope of contract or agreement.
What I see now is that expectations if not defined are always way bigger than what was told at the beginning. And you, as person doing the job, will always be the bad guy who is doing bad job not delivering.
And I’m not saying it’s good to not deliver. It’s good to deliver more than expected. For sake of having a happy client it’s needed. But when you don’t have specified what really is “the job” you can’t say you’ve done what you were asked for. And trust me, even when you all you were asked for there will be more.
And I know I’m maybe bitching about stuff but tbh I have only 24 hours a day and IMO when I want and I’m spending time doing something for you I’m expecting at least gratitude that I’m doing it and some understanding when we don’t have strict rule on either side and any of us can be caught in more or less relevant to “the job” stuff which can make delays in delivery.
This is what happened recently and as I follow the rule of failing fast my solution is to do things always with written rules. It can be for free if l like it. But with written delivery size and time. Just to avoid unnecessary misunderstandings.
The best PHP server for the beginning is XAMPP. All in one solution with Web Server Apache, current PHP version and MySQL database server.
I strongly advise you to use it in your beginnings. It saves a lot of trouble and time so you can start right away.
As a good practice add location of php to your PATH so you don’t need to use full path to it to run console tasks.
In my opinion there are only two choices:
SublimeText 3 – light and powerful editor for every language I think. With a lot of plugins best choice when you are doing more than PHP and related technologies.
PHPStorm – full size IDE for PHP with all features you want and need for your work. It’s not free like SublimeText but when your job is doing PHP it’s the best choice which saves you a lot of time.
When we are starting our journey with PHP my choice for you is Sublime because you can use it for free and it’s simply good enough.
As you are here I assume you are using Internet for some while now and you want to know now how to create webpages in PHP. Before we start with this I want to show you on basic level how your webpage is sent to your browser.
Webpages are using protocol named HTTP. It means Hypertext Transfer Protocol. Goal here is to send HTML documents between server and client machines so your browser can render this documents as a pages with colours, images etc. This is also your first goal as a programmer – to create HTML document on the server and send it back to the client. It’s called Response.
Client asking for webpage is also sending additional data. All of them we are calling Request. It contains query parameters, which you provide in the URL, request parameters which can be sent via form and headers which are identifying what’s the client (operating system, browser, sometimes additional data).
In simple words – you are getting question and you have to provide answer for it. And that’s how PHP works.
In next articles I’ll show you how modern PHP is done. I’ll use Silex framework and MySQL database. If you want to learn how to write PHP as a language check CodeAcademy. In this tutorial I want to put more focus on how use the PHP language than on what it is.
Anyway. If you have any questions put them into comments and I’ll bet back to you as soon as I can.