Jump to content

Testing PHP Skills

L.E.D

So I am in the process of learning PHP on http://www.codecademy.com/ and I am wondering where I am test my skills, maybe another site, maybe a program that throws problems my way?

 

Thanks in advance for any help.

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

you could be the one throwing problems your way

define a goal and learn stuff until you can do it, like "i want to build a very simple forum" or "yo let's create a very simple chat that everyone can write thing into, so i can use it even with my friends as a group chat" or "alright today i'll create google2, and facebook after that"

if you can't think on anything, some posts ago we were talking about the Canadian computing competition, try solving some problems from the past years

Link to comment
Share on other sites

Link to post
Share on other sites

Build something from scratch. A simple blog or forum is a good place to start; you'll pick up some basic HTML/CSS/JS as well, which are all good things for a PHP programmer to have some knowledge of.

 

Learn how to use a debugger (such as Xdebug) with PHP, it will make your life 10x easier.

Link to comment
Share on other sites

Link to post
Share on other sites

As always start off slow. Gove yourself achievable objectives. Some things to try are:

Creating and querying a user database and returning the result

Using that to create a site login system

Create a chat that runs on a side bar

Create a shopping cart system

There's plenty of things to do, but having some of the skills listed above are not only (sometimes) fun, but useful from an employment perspective

I am good at computer

Spoiler

Motherboard: Gigabyte G1 sniper 3 | CPU: Intel 3770k @5.1Ghz | RAM: 32Gb G.Skill Ripjaws X @1600Mhz | Graphics card: EVGA 980 Ti SC | HDD: Seagate barracuda 3298534883327.74B + Samsung OEM 5400rpm drive + Seatgate barracude 2TB | PSU: Cougar CMX 1200w | CPU cooler: Custom loop

Link to comment
Share on other sites

Link to post
Share on other sites

As always start off slow. Gove yourself achievable objectives. Some things to try are:

Creating and querying a user database and returning the result

Using that to create a site login system

Create a chat that runs on a side bar

Create a shopping cart system

There's plenty of things to do, but having some of the skills listed above are not only (sometimes) fun, but useful from an employment perspective

 

 

Build something from scratch. A simple blog or forum is a good place to start; you'll pick up some basic HTML/CSS/JS as well, which are all good things for a PHP programmer to have some knowledge of.

 

Learn how to use a debugger (such as Xdebug) with PHP, it will make your life 10x easier.

 

 

you could be the one throwing problems your way

define a goal and learn stuff until you can do it, like "i want to build a very simple forum" or "yo let's create a very simple chat that everyone can write thing into, so i can use it even with my friends as a group chat" or "alright today i'll create google2, and facebook after that"

if you can't think on anything, some posts ago we were talking about the Canadian computing competition, try solving some problems from the past years

 

Ok, I'll probably finish out CodeAcademy then look at making a basic forum, Should I look at a guide for making one or just go with it?

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

Ok, I'll probably finish out CodeAcademy then look at making a basic forum, Should I look at a guide for making one or just go with it?

Probably just go for it, see if you can be innovative enough to apply your basic principles to the application. Then if you cannot figure something out, then you look at fixing the one specific thing you can't get your head around. That will probably be better for you in the long run, thinking is much better than copying

I am good at computer

Spoiler

Motherboard: Gigabyte G1 sniper 3 | CPU: Intel 3770k @5.1Ghz | RAM: 32Gb G.Skill Ripjaws X @1600Mhz | Graphics card: EVGA 980 Ti SC | HDD: Seagate barracuda 3298534883327.74B + Samsung OEM 5400rpm drive + Seatgate barracude 2TB | PSU: Cougar CMX 1200w | CPU cooler: Custom loop

Link to comment
Share on other sites

Link to post
Share on other sites

Probably just go for it, see if you can be innovative enough to apply your basic principles to the application. Then if you cannot figure something out, then you look at fixing the one specific thing you can't get your head around. That will probably be better for you in the long run, thinking is much better than copying

 

Alright, thanks I guess I will do that.

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

avoid tutorials when you can: the real challenge in programming is finding the way to do things

code and languages are easy

so yep, take your time banging your head on the wall until you find the solution, because that's the time when you learn

Link to comment
Share on other sites

Link to post
Share on other sites

avoid tutorials when you can: the real challenge in programming is finding the way to do things

code and languages are easy

so yep, take your time banging your head on the wall until you find the solution, because that's the time when you learn

 

Plus, a lot of 'tutorials' out there are great examples of how NOT to do things.

Link to comment
Share on other sites

Link to post
Share on other sites

*cough*cough*codeacademydotcomisanexampleofhownottolearnhowtoprogram*cough*cough*

 

huh, Well how do you recommend I learn it?

 

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

huh, Well how do you recommend I learn it?

 

they say books are good

and practise

 

if you don't want to go as serious as picking up a book, just google for some php manual, and use php.net references as often as you can, they're usually pretty well documented nice pages

but really, practise, do things, it's fun!

Link to comment
Share on other sites

Link to post
Share on other sites

Yep, the comments on the php manual pages often have great insight that you won't find easily elsewhere.

 

Basically, don't limit yourself to just one source.

Link to comment
Share on other sites

Link to post
Share on other sites

1. PHP Documentation website is essential (keep it handy and check the code examples each page has to offer when your looking for something)

2. HTML, CSS & JavaScript - The basic of the basics - it is essential you know these (no need to be a god at javascript but at least know jQuery and how to validate etc)

3. PHP

  • Learn the basics php code tags, for, if, else, then, while, arrays, split, $_GET, $_POST, stdClass etc
  • Learn functions and variable scopes - build some test functions understand how to return and process data
  • Learn class's and variable scopes - build some test classes and sub functions understand how to instantiate them and use their functions to encapsualte your application into class's (1 class per file usually) and to return and process data
  • Learn MySQL & MySQLi connection strings and make a connection to a local MySQL database (use wamp or xamp etc)
  • Learn to divide your code into require_once / require (includes) split your files up, build a structure eg something basic for your first attempts (structure is everything in the end game)
    pages
    includes
    - css
    - js
    - php
    downloads
    images
  • Learn sessions and build a login system
  • Learn encryption, decryption and then how to use MD5 and SHA for password and secure cookie/session data storage
  • Re-build your login system to include what you learned above
  • Learn how to include a php file for when the user is logged in and the user not logged in thus changing the navigation automatically for your web site / application
  • Create a table in your MySQL database called users, add rows for email, password, first_name etc (varchar(255) for data type and unique auto incrementing identity key user_id)
  • Add to your application a User Manager - CRUD functionality time (Create, Read, Update, Delete)
    - index.php = User browser (learn to build in paging mechanics - use css and javascript for highlighting and interactivity) - include sub page menu for CRUD functions
    - add.php = add user (validate username or email to be unique and not allow duplicates and handle these errors)
    - remove.php = not a page but simply called to remove a user - ensure only people logged in with the correct permissions can remove a user
    - edit.php = same as the add form but query the database for the users details first and populate the form fields with the data and use javascript to validate inputs (you should validate input data via php also for added security)
  • Learn about SQL injection
  • Rebuild your Login and User manager to prevent this and enhance your html, css and javascripting skills at the same time by dynamically generating html, css & javascript to handle your User Interface
  • Build your logout page and update navigation
  • Upload to live server, create database on live host and test, I bet you it wont run 1st time ;)
  • Now the fun begins - Download a php framework to start building to design patterns MVC (Model View Controler) - start with Code Igniter (it's no longer in active development but still a good place to start simple)
  • re-build the above application using codeigniter (learn the structures, learn views, models and controler, helpers, libraries, routing and .htaccess)
  • Re-build again now adding a blog or message wall like facebook section into your application
  • Download another more complex framework such as CakePHP or Yii (I recommend both) and re-build your application in them
  • Finally download and read documentation on zen & symphony and re-build your application in both
  • Now choose your desired path and self improve - php documentation and googling is all you need

Good luck

Link to comment
Share on other sites

Link to post
Share on other sites

1. PHP Documentation website is essential (keep it handy and check the code examples each page has to offer when your looking for something)

2. HTML, CSS & JavaScript - The basic of the basics - it is essential you know these (no need to be a god at javascript but at least know jQuery and how to validate etc)

3. PHP

  • Learn the basics php code tags, for, if, else, then, while, arrays, split, $_GET, $_POST, stdClass etc
  • Learn functions and variable scopes - build some test functions understand how to return and process data
  • Learn class's and variable scopes - build some test classes and sub functions understand how to instantiate them and use their functions to encapsualte your application into class's (1 class per file usually) and to return and process data
  • Learn MySQL & MySQLi connection strings and make a connection to a local MySQL database (use wamp or xamp etc)
  • Learn to divide your code into require_once / require (includes) split your files up, build a structure eg something basic for your first attempts (structure is everything in the end game)

    pages

    includes

    - css

    - js

    - php

    downloads

    images

  • Learn sessions and build a login system
  • Learn encryption, decryption and then how to use MD5 and SHA for password and secure cookie/session data storage
  • Re-build your login system to include what you learned above
  • Learn how to include a php file for when the user is logged in and the user not logged in thus changing the navigation automatically for your web site / application
  • Create a table in your MySQL database called users, add rows for email, password, first_name etc (varchar(255) for data type and unique auto incrementing identity key user_id)
  • Add to your application a User Manager - CRUD functionality time (Create, Read, Update, Delete)

    - index.php = User browser (learn to build in paging mechanics - use css and javascript for highlighting and interactivity) - include sub page menu for CRUD functions

    - add.php = add user (validate username or email to be unique and not allow duplicates and handle these errors)

    - remove.php = not a page but simply called to remove a user - ensure only people logged in with the correct permissions can remove a user

    - edit.php = same as the add form but query the database for the users details first and populate the form fields with the data and use javascript to validate inputs (you should validate input data via php also for added security)

  • Learn about SQL injection
  • Rebuild your Login and User manager to prevent this and enhance your html, css and javascripting skills at the same time by dynamically generating html, css & javascript to handle your User Interface
  • Build your logout page and update navigation
  • Upload to live server, create database on live host and test, I bet you it wont run 1st time ;)
  • Now the fun begins - Download a php framework to start building to design patterns MVC (Model View Controler) - start with Code Igniter (it's no longer in active development but still a good place to start simple)
  • re-build the above application using codeigniter (learn the structures, learn views, models and controler, helpers, libraries, routing and .htaccess)
  • Re-build again now adding a blog or message wall like facebook section into your application
  • Download another more complex framework such as CakePHP or Yii (I recommend both) and re-build your application in them
  • Finally download and read documentation on zen & symphony and re-build your application in both
  • Now choose your desired path and self improve - php documentation and googling is all you need

Good luck

 

This is exactly what I was hoping for, You're a relatively new member here, welcome aboard and thanks for sharing, I will be checking back to this as a check list almost. I have started following a Youtube series and it explains some of the thing in here, I already have a small grasp at Jquery so that'll help I hope.

 

Thanks, Nathan

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

I recommend buying this article. https://tutsplus.com/tutorial/build-a-custom-cms-using-php-and-mysqli/

 

I learned ALOT from it for my very first php application.

 

Thanks Matt, I might have to look into that, Only problem for me is cash right now, I am a little strapped as usual.

There are 10 types of people in the world: Those who understand binary, and those who don't.

Just some helpful stuff: You're - You are, Your - Your car, They're - They are, Their - Their car, There - Over there.

 

Folding @ Home Install Guide and Links | My Build

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×