Becoming an Entry Level PHP Programmer

Image : Becoming an Entry Level PHP Programmer

This article gives some guidance on how to become a PHP / MySql developer and what you will need to know. I assume you have some programming and database familiarity because we will start at that level.

You will need a simple development and testing environment. I go over that in this article. I give a laundry list of things you should know and things you should do in your quest to become a PHP Programmer.

How I Started Learning PHP

I was a programmer before I taught myself how to program in PHP. To me it all comes down to data driven browser based applications. The starting point was simple. For me it was CRUD plus listing records. CRUD is an acronym that stands for Create, Read, Update, and Delete.

I hard coded each part following the following steps:

  1. Create a PHP file.
  2. Created a database and table in MySql (or one of it’s clones).
  3. Add a database connection string using PHP
  4. Hard coded the code to create, read, update, and delete record using database table I created.
  5. Hard coded the code that lists the records in the table.
  6. The above creates on simple PHP program file.

That’s it. That is how it all started for me.

Create a PHP Development Environment

You will need a development environment. Either a simple VPS some place like Digital Ocean [link] or PixeGate.net [link] or you can use an old laptop or desktop. I have several test environments. I have a local hardware server (old Dell desktop computer) and an old laptop. Both have their spinning drive replaced with a Solid State Device (SSD) so they are better optimized having the hard drive bottleneck removed. Your garden variety i3 laptop with and SSD and 4G of RAM should serve you well.

One thing to note is you will want your development and testing servers have the same specifications as your production server. Since this is for learning and your code will not be moved to a production environment, this is not an issue.

Skills You Will Need to Develop

Linux – There is a lot to know about Linux and I do not think most will expect you to be master Linux admin while you are at the beginner stage. You should be able to install Linux and be able to create a user.

Networking – You should know how to modify a Linux network connect if need be, and plug in a network cable as needed. You need to know the difference between a static IP address and a leased IP Address (Dynamic Host Configuration Protocol (DHCP)).
Apache and / or NGINX – Basically you need to know how to create or modify a virtual host, and stop and start the webserver.

MySql or One of it’s Clones – You will need to know how to create a database, create a table, create indexes, and create query strings that can perform basic CRUD plus list.

Basic PHP – You will need to know the following:

  • How open tags work and why and when a closing tag is not required
  • Variables and Types
  • Data Types
  • Capturing Form Data, processing it and sanitizing it
  • For Loops and While Loops
  • How a Switch Works
  • Arrays
  • Creating and Accessing String
  • Searching and Replacing a String within a String
  • Formatting Strings
  • Call by Value and Call by Reference
  • Reading and Writing to Text Files
  • Basic Understanding of Object Oriented Programming
  • Procedural Programming
  • How to Configure PHP via the php.ini file

HTML5 – W3Schools has a great HTML5 tutorial that would be good to go through as part of your PHP programmer training. [link : https://www.w3schools.com/html/]

Cascading Style Sheets (CSS) – There is a lot to know about CSS. Basically it is the “language” that describes how a web page will be rendered. W3Sschools [link] has a great tutorial on this.

Mobile Responsive – You may not need to know much about making a website mobile responsive, however you do need to understand what it is. Basically it is using CSS to make a web page render in a desktop, a tablet, and a smart phone is such a way that is looks correct for that size of screen.

JavaScript – The first thing to understand is JavaScript runs in the browser, while PHP runs on the server. There is a lot to know about JavaScript. If you write raw JavaScript it may not work in all browsers. Each browser has it’s own JavaScript engine and they differ.

JavaScript library – jQuery is my favorite JavaScript library. It standardizes your JavaScript so that it runs in all browsers.

AJAX – AJAX stands for Asynchronous JavaScript and XML. Sounds ominous, and at first maybe it is. Once you get started AJAX can be quite fun. AJAX gives the PHP programmer the ability to create interactive web pages. That means the wold page does not need to be refreshed with every change the customer makes. AJAX will update just the block that needs to be updated making for a better user experience. Way back in the old days web pages were not interactive.

Conclusion

We covered a lot of ground. Becoming a PHP programmer requires a lot of work to develop the skills and knowledge you will need. It is possible to learn all this and some if one takes the time to work through the list while doing some hands on.

System Analysis and Design for the PHP Programmer

Image : System Analysis and Design for the PHP Programmer

This article covers system analysis and design from the PHP developer’s perspective. Not only should programmers be aware of system analysis and design, site owners should be aware of this as well. If a developer fails to perform an adequate system analysis and design they are setting themselves up for working harder and longer than they should have. The other part is this phase will produce a written outline of the project that can be used to communicate with the customer. The customer needs to be aware of this phase as well. I cannot state strongly enough how important this phase is.

Introduction to System Analysis and Design

System analysis and design is taught at most junior colleges and universities as part of their programming or computer science curriculum. But what is system analysis and design? In a nutshell is is formalizing the project. Taking what a customer has told the programming staff about what they want. When complete it is a road map to the finished computer application. In this article we will look at this from the perspective of the PHP programmer.

The System Analysis and Design

When it comes to the garden variety (small) PHP programming project there does not seem to be a lot of time to allot to the system analysis and design phase of the project. Usually the system analysis and design occurs in the programmer’s head. I understand this approach because there is usually limited resources when it comes to PHP freelance programming projects. In reality the PHP programmer should take some amount of time for a formal analysis and design.

For a small project the analysis and design phase will take an hour or less to compete. For larger projects this phase my take longer.

Doing a formal analysis and deign can save the developer time and energy. And it will allow the programmer to get early feedback to ensure that project is what they customer envisioned. In school they teach this phase will save the developer a lot of time and energy. From my experience this is true. I’ve hastily began projects believing I had it all figured out and took little time analyzing the project or formalizing it. Those times I skipped the analysis and design caused me to work harder and longer. It is very important to do a formal analysis and design before starting to program.

What Does a Finished Analysis and Design look like?

Each project will vary. Some will be maintenance or bug fixes that require thinking about the issue, doing some research and coming up with a course of action. Other projects, manly those where a project is built from scratch will require the following:

  • Project Statement – The reason for the project, the goals for the project, the why, and the delivery date.
    Site Hierarchy – Outline the menus, pages, and forms.
  • Form Templates – Making form templates and having them reviewed before stating to code will save time and effort and may flesh out potential misunderstandings.
  • Hosting Requirements – May need to be documented as well depending on the resources that may be need to be provided for the final web application.
  • Database Normalization – This is a big one. Database normalization is a skill all PHP developers should posses. The database is at the heart of the project. If done correctly it will make the project easier and will make future changes easier. And will reduce the amount of rework.
  • Reports – Outlining which reports are needed and what each report will require will help in understanding the project. Defining the reports that are needed will also help with understanding what data needs to be stored and in what format.
  • Security Issues and Concerns – The Internet has become a war zone. On a regular basis we hear or worse yet are invovled in a data breach. I do not think there is anyone in America that has not been effected. They say an ounce of prevention is worth a pound of cure. Be security conscious.

Conclusion

As you can see the system analysis and design is an invaluable tool to formalize the project so the programmer can verify with the customer that he or she is on the right track. This phase can also reduce the amount of time and effort that goes into a project. This is a mandatory part of all projects. The customer should request a system analysis and design occur and every programmer should do this automatically. Neglecting to do a formal system analysis and design could cause a project to go off the rails creating a failure. Performing this task will lead to better, easier, and more successful projects.

11 Things You Can do to Improve Your Website SEO Ranking

Image : 11 Things You Can do to Improve Your Website SEO Ranking

Here is 11 things you can do to improve your website SEO ranking. All of these factors are important. I suggest you start by blogging while applying the other 9 ranking factors. If you do so your website should rank well within your niche.

Google has as many as 200 ranking factors. Everyone of them matter. I’ve selected 11 I believe will impact your SEO efforts the most.

  1. Use Terms People are Searching for
  2. Make a SEO Plan
  3. Start Blogging
  4. Break up Your Content With Header Tags
  5. Fast Load Times
  6. High Quality Content That is Optimized for What People Are Looking for
  7. Image Alt Tags
  8. Inter Linking
  9. Make Your Website Mobile Responsive
  10. Add an XML Sitemap
  11. Make Sure Google is Indexing Your Website

Use Terms People are Searching for

This is provably the most important thing you can do for your website. All the other factors are very important, however if you do not do your research and use relevant terms and terms people are using to look for your content, you might as well not have a website.

Optimizing your website for the terms people are searching for in supper important. This is the starting point of any SEO project.

Make a SEO Plan

Use what you learned about what people are looking for to make a plan. Without a plan you could wonder all over the place. Make a plan and work your plan.

Start Blogging

Blogging is important to a site’s SEO ranking. Content is king. Blogging is important because if you have no content the other 9 factors are meaningless.

Make sure you keep on track by first researching your niche to determine what terms people looking for. Then write top quality relevant content that people want to read, content that has value. And don’t forget to use those search terms in your articles.

Break up Your Content With Header Tags

There is 6 different header tags. H1 is the most important and is the title of your article. Every page of your website should start with an H1 tag that is rich with search terms people are looking for that are relevant to your website and the article you are writing. Each page should contain one one H1 tag.

When you are ready to add the header to the next section it should be an H2 tag. Then if you need a subsection make it an H3 and so on.

Fast Load Times

One of the ranking factors for Google is website speed. There is several things you can do to improve your website’s speed.

  1. You can obtain a secured certificate and set every page of your website to HTTPS.
  2. You can optimize the file size of your media. Smaller file sizes will mean less to load into your visitor’s browser.
  3. More server resources. A better hosing platform such a virtual private server (VPS) that is using solid state devices or SSD as they are commonly referred to should do the job for most web applications.

High Quality Content That is Optimized for What People Are Looking for

The bottom line is you want people to convert. That means you are looking for business leads, subscribes to your newsletter, or you want them to read your content. To do so you need your visitor to stay on your website. To do so your content must be relevant. To make your content relevant, write it for the visitor you want to attract and for the subject they are looking for. To do this you much research what people are looking for and use those search terms in your content. This will increase the likelihood that your content is the right match for your visitors and that you are attracting your target audience.

Image Alt Tags

Make sure all your images have good quality alt tags that contain search terms that are relevant to your article. Each alt tag should be relevant to the image it is representing. While Google considers alt tag content, the tag is there for screen readers for those who may not be able to see the image. Always make your alt tags and other content for the visitor first and then the search engines.

Inter Linking

Interlinking serves two purposes. It tells Google which are your more important articles and it helps visitors stay on your website. Both are very important.

Keep people on your website is one of the metrics Google uses for ranking. Ranking is all about relevancy and one way Google determines relevancy is time spent on your articles and you site in general.

Linking from one article to another tells Google which content is most important. Your important content should be linked to by other articles. The content with the most links tells Google it is your most important content.

Make Your Website Mobile Responsive

One of the ranking factors google uses is if a website is mobile responsive. More than half your potential visitors are on a phone or a tablet. There will be less desktop computers as time passes. That will mean more mobile devises. Being mobile responsive is a must do.

Add an XML Sitemap

Having a sitemap is a must. All websites much have an XML sitemap. Google uses your sitemap to find your content. You will want to add a link to your site make in your Google Search Console.

Make Sure Google is Indexing Your Website

If you website is not being indexed you will have no visitors. It is important you register a Google Search Console account so you can verify your website with Google and ensure your website is indexed.

The Google Search Console provides a wealth of information about your website.

Conclusion

Each factor is important. Some are more important that the others, like doing research on what people are looking for and blogging. If you do your research, make a plan and then focus on blogging and apply the other factors to your blogging campaign, your website should rank better for your chosen niche.

Different Types of Hosting and Hosting Providers

Image : Different Types of Hosting and Hosting Providers

In this article I will cover PHP hosting platforms, types of hosting, types of hosting providers and their differences. I will also cover the advantages and disadvantages of each. This article is based on my experience in the industry and having been employed by two of the largest hosting providers in the world. I will reveal the truth about the hosting industry.

Hosting Platform

There is both Linux and Windows hosting. If you are hosting a PHP based website such as WordPress, Drupal, Magento, or a custom PHP website I recommend you stay with Linux hosting because PHP is native to Linux and Linux makes for a better server.

Types of Hosting

Shared Hosting

Shared hosting is by far the most popular, the least expensive, and the least reliable for the serious small business. Later in this article I will share 2 incidents where small businesses were negatively impacted by shared hosting.

While working for several of the top hosting companies in the world I saw things that shaped my opinion that shared hosting is not a solution for small business.

The hosting providers I worked for had a very structured process for interacting with website owners. If a website owner had an issue he or she would enter this process in one of two ways. The first would be to call customer service. The customer service agent is a level one tech. They are limited in what they can do and they may not have the skills to fix a problem. If the level one cannot resolve the problem within a few minutes they will escalate the problem to a level 2 tech. This may mean a delay of upto 72 hours. This means an issue can linger for days. Website down? Not able to communicate via email? You have to wait. The second way to enter the system is through completing an online form which goes into a queue. It may take minutes to many hours before a level one tech responds to this open ticket. If the level one tech is unable to reselve the issue at his or her level, the ticket will be escalated to a level 2 tech. Resolution could take 24 to 72 hours.

This could mean a website that is down or no ability to communicate via email.

Not a situation I would want for a small business. When you see the alternatives you will understand why I express this opinion.

Reseller Hosting

If reseller hosting works as planned this could be a viable option for the small business. The problem is it does not. I experienced this first hand when my website screeched to a halt. After weeks of my website being unusable, I moved to another provider.

These plans are great. They give you the ability to host a great number of websites. The most popular is HostGator. The cost is good too. The problem is the same as the shard hosting technical issue resolution.

Virtual Private Servers (VPS)

In my opinion this is the way to go especially when adding the Plesk server management software into the mix. With Plesk things are just made easier. Plesk is so easy to learn and use, the average person could learn enough to run their own server. With the advent of the Solid State Drive (SSD) and as modern day server hardware becoming more powerful, a VPS running Plesk is the answer for most small businesses.

Modern day Plesk is very feature rich. Here are some of Plesk’s features :

  • Install a free Let’s Encrypt SSL Certificate.
  • Force your website to always be secured, which is a big plus for Search Engine Optimization, and website speed.
  • Force your website to the non- www or the www version of your website’s URL.
  • Update your server Operating System with the click of a link.
  • Edit files directly on the server.
  • Stop or restart your server from the control panel.
  • It allows you to manage your email accounts right on the server. Add, edit, and delete email accounts at will.

These are some of the main features that I think you will be interested in.

I am very impressed with Plesk on a VPS. This is the platform I recommend. As far as I am concerned there is no down side to running Plesk on a VPS as your hosting solution. I only see benefits from this arrangement.

Hardware Servers

Several years ago this was the way to go. Keep in mind that hardware is becoming more powerful and with SSD drives becoming affordable, servers fly making VPS’s viable. Hardware servers are no longer needed, for the most part.

The upside of having a hardware server is you have your own server all to yourself. The downside is a hardware server will more than likely be at least 2 times more expensive than a VPS.

Email

One of the things you should be aware of is some hosting configurations come with the ability to manage email and others do not. Shared hosting will provide the ability to manage your email, while a hardware server may or may not give you the ability to manage your email accounts, unless of course you are running Plesk on your hardware server.

Having the ability to manage one’s own email accounts is one of the reasons I like Plesk so much.

Types of Hosting Providers and Their Differences

There is three types of hosting providers.

1) Commodity or mom and pop hosting providers. The GoDaddys and the iPowers of the world. I do not recommend this type of hosting for any serious business.

2) Business class hosting providers. These providers may offer you shared hosting which may be viable because this class of provider is more service oriented and may fix your issues, if they should arise, within a reasonable amount of time. This class of hosting provider is the one I would recommend, and would recommend you obtain a VPS from them.

3) Specialty Hosting Providers. These guys are the best in class. They specialize in a certain software package such as WordPress, Drupal, or Magento. They are very responsive to tickets and phone calls. Tickets are usually acknowledged within a few minutes and if you call you will be taking with a real system administrator. I’ve worked with this type of hosting provider and they are topshelf. However this is not a solution for the small business mostly because of cost. These houses charge $400 plus for a VPS and hardware servers are going to be in the $700 plus range, per month.

Pricing, Service, and Reliability

Shared hosting and reseller hosting are in the same class. Rather inexpensive and not so reliable. I do not recommend these for the average small business.

A VPS running Plesk provided by a business class host is by far the best solution for the average business. This solution may cost a little bit more, however it is worth is.

Hardware servers are reserved for the client that needs extra horsepower and resources for their website. Add Plesk and a business class host and you have a nice combination. A hardware server may cost 2 or more times as much as a decent VPS from the same hosting provider.

2 Bad Experiences From Using Shared Hosting at One of Those Discount Hosting Companies

Example One – I had a friend who was hosting his website and blog with one of the world’s largest hosting providers. He was on shared hosting. His website got corrupted and it took days to get his website back on line and he lost his blog entirely. If you are doing any amount of Search Engine Optimization, you know blogs are important. Not only that, it take lots of time and effort to build a decent blog. His blog was completely gone.

Example Two – I was at work at one of the largest hosting providers when I became aware of a businessman who who was trying to get his website and email working again after the shared hosting server his website and email accounts were on, died. It took over a week to recover his website and email. Imagine your business website being off line for a week and all your emails, inbound and outbound, are stopped. Would your business survive?

This is the truth about shared hosting.

If something bad is going to happen… it is going to happen to someone. That someone could be you.

PHP Hosting Solution

If you are still reading you probably know what I am about to say. Please keep reading because I am going to make the point, a point we all need to hear. The point is we all like to save money. I like cheep shared hosting for that reason and that reason alone.

If you are using shared hosting you may go a lifetime without any issues. And then you could be the statistic who loses your website for a couple days or worse yet your email does not work for days. In the mean time you are losing business, risk losing customers, and risk bankrupts.

My solution is very simple. Find a business class hosting provider and host on a VPS that also is running Plesk. If your website requires more resources then get a hardware server running Plesk. And do so in a business class data center where you can talk with a real system administrator when you call or email.

I’d bet your business and your piece of mind are worth the extra $35 a month for a VPS.

Conclusion

We have covered many aspects of hosting, which is better and some of the gotchas. We covered the type of hosting plans and the type of providers. As you can see not all are created equal. And there is some real potential threats to your business if you are unaware.

I’m guessing you are probably a small business person not a techie. There is a lot to know about hosting. It is important that you as a business person understand this part of your business.

Hands down I make one simple recommendation. Find a business class hosting company and get a VPS or a hardware server running Plesk. If you do so you will minimize your risk while spending just a few more dollars each month.

Isn’t your business and peace of mind worth it?

Business Class Web Hosting

Image : Business Class Web Hosting

There is a real hole in website hosting.  You can buy what I refer to as commodity or mom-and-pop virtual hosting at places like Godaddy and iPower, however this is really not a long term solution for any serious business.  These hosting companies also offer virtual private servers (VPS) and hardware servers.  What is missing is business class web hosting.

I used to work in the domain and hosting industry which has given me much insight.

Some of the things that were a real eye opener:

Level 1 techs – These hosting providers have a customer service  hierarchy.  When you call or fill out a ticket you are communicating with a level 1 tech.  These folks know just enough to help you with some simple things.  If you are experiencing a real problem all they can help with is filling out a ticket that goes into a queue.  Depending on demand it might take your ticket up to 3 days to work it’s way through the queue.  In the meantime all you can do is wait.  If your email is down or your website has disappeared, all you can do is wait.

Ticket Queue – As mentioned above your ticket will stay in a queue for 1 to 3 days depending on demand. They are not trying to ignore you, it is just how cheap hosting works.  Think about it, if you are paying less than $10 and month for hosting, they really cannot spend much time with you or they lose money.

Lost data and lost websites – I’ve used this level of hosting in the past without any problems.  My friend was not so lucky.  His blog was lost and he had no backup.   Can you imagine spending hundreds of hours working on a blog to have it all disappear.

And of course if you move up to a VPS or a hardware server you will get more power and resources, however it is wrapped in the same old customer service hierarchy.

There is a solution.  Break free – find a hosting provider that will give you outstanding customer service and resolve your problems in a reasonable amount of time.  No ticket queue and no gatekeepers.  Look for a place where you will have access to the people working on the hardware – the system administrator.

If you are hosting your business website on cheap virtual hosting, I would recommend moving up to business class hosting.  It will cost more, however it is worth it.

I’ve been working with Pixelgate Networks for over 11 years and find their pricing to below those other guys and their service to be excellent.  When you call you talk with a real system administrator – the person who can resolve your issue.

If you would like peace of mind call Pixelgate at 805-446-6251 and tell them Keith sent you.

6 Secrets for Choosing a Good Domain Name

Image : 6 Secrets for Choosing a Good Domain Name

I bought my first two domain names in 2000.  I do not recall the first name.  The second was for a Christian website named Christian-Home.org.  That domain name was a real learning experience.

Back in those days a domain cost $40 a year so mistakes were costly.

I learned two things from my early domain history.  In the case of Christian-Home.org, there was two things that confused people.  One was the hyphenated name and the other was the extension of org.  People repeatedly told me they could not find my website.  In talking with them I was able to determine they were dropping the hyphen and / or  not using the extension of dot org, instead using dot com.

Today I recommend a couple simple rules when choosing a domain.

Choose a name that best reflects the theme of your website

For example, If you are a real estate agent try to use a term that is your city or region and contains a real estate related term as well.  In an effort to create a really good domain I like to start by doing some research to determine what people are searching for.   And then create a domain name based on that research.  A domain name that is an exact match to a search term is the best.  How to determine what people are looking for is outside the scope of this article.

Don’t hyphenate

Creating a domain that does not contain a hyphen is the lesson I learned in 2000 when I bought and tried to use Christian-Home.org  Back in the day and maybe even now hyphenated domain names were confusing and hard to remember.

Always go with dot com

Another lesson I learned from trying to use Christian-Home.org.  I work on the web daily so you would expect that I would not be confused by a non-dot-com domain, right?  Wrong – a while back I was trying to print some tax forms when I went to irs.com instead of irs.gov.  Imagine my surprise when I saw advertisements for TurboTax.  My first thought was the Government was selling TurboTax.  Then I realized I was on the wrong website.  Choose a dot com or risk losing traffic to the dot com version of your domain.

Select a domain that is easy to spell

You may reduce the number of visitors to your website if you choose a domain that is not easy to spell.

Select a domain that is short

Short is always good.  Who wants to type in 60 or 70 characters so they can visit a website?  There may be an exception like a company name, however long domain names should never be the norm.

Catchy domain names are easy to brand

Look at GoDaddy.com.  Catchy and easy to remember.

Domain names that are easy to remember add great value

Sometimes it is better to choose a domain that is easy to recall and that might be a little catchy than one that contains search terms.

Choosing a domain name is not to be taken lightly

Your domain is an integral part of your web presence.  I suggest taking some time in choosing the correct domain for your web presence.  Choosing a domain name should not be taken lightly.