Translated by Google Translate

Public, Private, and Protected (Member Visibility) in OOP PHP



In OOP we will always find keywords Public, Private, and Protected. These three things are used to determine the visibility of members (properties and functions) that are characteristic of object-oriented programming. Are members globally accessible (public) or accessed by its class (private) or accessed by the class and subclasses. Meanwhile, if the procedural programming members can only be accessed globally.

A. Public

In public visibility, a method or property can be accessed globally. That means it can be accessed on the inside and outside of class or in other words the properties and functions are known globally. In OOP PHP tutorial for Beginers previously, we have made $objPeople which the visibility of properties and function are public.

This is another example of class with public visibility :

Script 1.
<?php
class student {
    public $sid;
    public $name;
    public $point;

    public function processPoint () {
    echo "Students with sid $this->sid <br />";
    echo "name $this->name <br />";
    echo "get point $this->point";
    }
}
$objStudent = new student();
$objStudent->sid = '3310901051';
$objStudent->name = 'Hermanto';
$objStudent->point = 90;
$objStudent->processPoint();
?>

And this is the result looks like in browser
Picture 1. Public member visibility

B. Private

If public can accessed by global  then private visiblity means that the member (method or property) in a class are accessible only within its own class.

Let's modify the script at class student by changing the property visibility to be private.

Script 2
<?php
class student {
    private $sid;
   
private $name;
   
private $point;

    public function processPoint () {
    echo "Students with sid $this->sid <br />";
    echo "name $this->name <br />";
    echo "get point $this->point";
    }
}
$objStudent = new student();
$objStudent->sid = '3310901051';
$objStudent->name = 'Hermanto';
$objStudent->point = 90;
$objStudent->processPoint();
?>

If we run the script 2, it will display an error message because the property sid, name and points have private visibility, so that the data accessed by outside of class can not be done. So how do the private property that is accessible outside of class so that it can be used by objects that need it? The solution is to use the function setter and getter.

Setter is used to create a (set of) value for a property. This function is generally used for properties that have private and protected visibility. Setter is often used to validate incoming data before the data is loaded on a property. While the getter is used to generate (get) a value of the member public, private, or protected from the result.

How to access private member with that function?

Script 3
<?php
class student {
    private $sid;
    private $name;
    private $point;

    function setSid($x) {
        $this->sid=$x;
    }
    function setName($x) {
        $this->name=$x;
    }
    function setPoint($x) {
        $this->point=$x;
    }
    function getSid() {
        return $this->sid;
    }
    function getName() {
        return $this->name;
    }
    function getPoint() {
        return $this->point;
    }

    function Point () {
    echo "Students with sid $this->sid <br />";
    echo "name $this->name <br />";
    echo "get point $this->point";
    }
}
$objStudent = new student();
$objStudent->setSid('3310901051');
$objStudent->setName('Hermanto');
$objStudent->setPoint(90);
$objStudent->point();
?>

In the script above, we use function setters and getters for each property that has a private visibility. Making the value of the function by taking the value setter and getter done by function. In the getter is used "return" value because the getter will return the value of the property taken by the data.

Note how to calling the property after instancing $objStudent, calling the property is done by calling the names function with ($objStudent-> setSid()). Although become longer code lines, but more OOP recommend this method for accessing a Member.

If the script is run in the browser then the result will be the same as the picture below :
Picture 2. Calling private visibility with setter & getter function

C. Protected

Protected almost SAME to the private that can only be accessed by its class and protected can also be accessed by its subclasses. Let's try changing the script 1 and we will change the visibility of the member be protected like the script below :

Script 4
<?php
class student {
    protected $sid;
   
protected $name;
   
protected $point;

    public function processPoint () {
    echo "Students with sid $this->sid <br />";
    echo "name $this->name <br />";
    echo "get point $this->point";
    }
}
$objStudent = new student();
$objStudent->sid = '3310901051';
$objStudent->name = 'Hermanto';
$objStudent->point = 90;
$objStudent->processPoint();
?>

If the script is run in browser then the result will error : cannot access protected property.

The error occurred because the protected class can only be accessed by its class and subclasses. For more detailed discussion of inheritance protected in subclasses will be explained on the nexy tutorials on The Inheritance.


Read More Add your Comment


What is AJAX and How to Use it With jQuery



Are you questioning What is AJAX, and How to Use it With jQuery? To answer the long question, we need to start it from the meaning of AJAX. No, it is not football club from Holland but AJAX is asynchronous JavaScript and XML. People use AJAX to load data from a server and then display it on the webpage without the need to reload the page. With AJAX, you will see only part of the website is changed while the other remain the same because the page is not refreshed. If you still confuse, you can open your Gmail and switch from “inbox” to “sent mail”. You will see the content is different but the page is the same. AJAX call is something you do behind the scene.

So, what is the benefit of AJAX?  
Minimize Bandwidth Usage
AJAX can work without reloading page, so you don't need to refresh and excedded your bandwidth usage.
Faster
Facebook is one from many website that using AJAX. When new notifications coming, it will show you the alarm or notification info in right top position of your facebook page, that's work by AJAX. You can imagine how it works without AJAX, you don't know if there are new notifications coming, you should refresh your facebook page to know that.
- User Friendly
You don't need to refresh the page if you want to see the changes.

Now that you know what AJAX is, we are half way. To complete the answer for What is AJAX, and How to Use it With jQuery we need to continue with it application with jQuery. If you wonder why jQuery, people love it because jQuery supports AJAX in fantastic way. Even more, you will find the implementation is very easy. One important thing is to tell the browser whether to catche AJAX or not, especially since different browsers will behave in different ways.

Here is how to do it :
$.ajaxSetup ({
cache: false
});
This is the example :
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img src='img/load.gif' alt='loading...' />";
//  load() functions
var loadUrl = "ajax/load.php";
$("#load_basic").click(function(){
$("#result").html(ajax_load).load(loadUrl);
});
Example of $.ajax with success is:
$.ajax({url:'/'}).done(function(data){});
Now you have the answer for What is AJAX, and How to Use it With jQuery. This is the time to apply it and see what happen.


Read More Add your Comment


HTML Basic Part 2



Meet Again ! as Usual This is R1O as the guest Author. I will continue explain the part from the first tutorial in this HTML Series. If you have not yet read the first tutorial i suggest you to read the first one otherwise you will get lost. Trust me ...
So far we have write this code in our text editor
<!doctype>
<html>
</html>
And the last discussion we talk about tag. So now just add the <head> tag opening and closing in the <html> area in your text editor. Like the example below.
<!doctype>
<html>
<head>
</head>
</html>
Now, What is the tag <head> is use for ?
The tag <head> is use for processing advance programming stuff like javascript, PHP, and etc..
Just remember this “ all the cool stuff that you look at the website is processing at here “ the <head> tag “ “.
Allright now we gonna add <title> tag. write this code below on your text editor. And save it. Remember the format of the save file is .html
<!doctype>
<html>
<head>
<title>

</title>

</head>
</html>
<title> tag what’s that?
The <title> tag is use for make title or description on the browser tab.
So now try add the title or description. Type this code on your text editor and save it.
<!doctype>
<html>
<head>
<title>
                My site
</title>

</head>
</html>
It should look like this in your web browser , in this case i use internet explorer:

TITLE TAG

Now your website has a title ! yeah ...
you can change the name as you like this is only the example.


Now let’s jump to the <body> tag. Write the code as seen on below:
<!doctype>
<html>
<head>
<title>
                My site
</title>
<body>
</body>

</head>
</html>

<body> tag ?
<body> tag is use for make the appereance in the web. If you see the website paragraph or picture it’s written this section the <body> tag. I show you the picture so you can get the clearer picture:

BODY TAG

You see the white space is called the <body> area. Where the upper left is starting point to positioning things in the website. Is like the cartesius diagram that we learn from school in mathematic subject. The difference is the starting point instead from the middle in website is start from the upper left.

BODY TAG
That’s for today. We gonna cover how to add somes stuff in  the <body> tag in the next tutorial. So stay tune !


Read More Add your Comment


HTML Basic Part 1



HTML BASIC
 Yo folks back again this time with me as a guest writer R1O. Today i’m Gonna Share about how to design a website From the very basic. Do you ever wonder what website is consist of? Well no need to wonder again cause i’m gonna tell ya. Website Is consist of HTML, CSS, JAVASCRIPT, PHP or even you want to make more dynamic you can add Flash and HTML5 Element. This time I’m just want to share about HTML because that i’ve learn so far.

What the heck is HTML ?

HTML Stand for Hyper Text Markup Language. This is the language that computer understand and this is also the backbone of a website.

How Do i Start writing the HTML ?

You can code it on text editor for example : notepad++, Sublime, or the very basic and stunningly beautiful is the notepad from Windows. (belum di link)
Download It first Just click on the example i suggest using notepad++ and install in your damn PC

Ok, what’s next?

Type exactly same as below. .  .
<!doctype>
<html>
</html>
Just Type like that i explain later... and save as .html for example: index.html (you can add the as you like, index html is the common one.

Ok, now what the heck is <!doctype> and <html> </html> ?

The code <!doctype> is the declaration Tag statement and it must be at the top of the HTML File. It means you tell the browser that this is for code in HTML or HTML5. The <html> is the opening tag and the </html> is closing tag. This is the rule of making HTML you must type that two things first.

What is tag?

In HTML language Tag is the code and it wrap the word in <> for example <head> and tag <head> is the opening tag and it have closing tag to it looks like this </head>. The closing tag has the / before the word. Note not all the tag have closing tag for example the <br /> it close on just one line. I explain the tag that i just wrote later in the next tutorial.



Read More Add your Comment 0 comments


OOP Concept in PHP for Beginner




Object oriented programming has begun in era of PHP3, but still simple and not perfect. While web technologies and cloud computing grows up then PHP 5 has been developed to support full OOP. OOP become popular among web programmers. For example, many CMS like Joomla, WordPress, PrestaShop and Moodle are built with OOP. Furthermore, trend use of Frameworks like Yii Framework, Codelgniter, Zend, CakePHP and etc. All of them also built with OOP.

So, how to implement OOP in PHP? To answer this question, first you must have mindset when using OOP "Everything is an Object". Object is the "main actor" in OOP. So when you developing a website in PHP you should thinking about Object. You should think how interaction between obejcts can solve the problem.

Now, let's  implementing OOP in PHP, There are four basic terms you should be known in OOP. They are Object, Class, Property and Method. And here they are :

A. Class

A class is a blueprint of a template according to which objects are created. Class is bearing of group element data (variable) and code program (function). Variable in class called property and function is method. To create a class in PHP, you can use the keyword "class" and then followed by class name. For an example here a class with name "People".
<?php
class people {
public $name;
public $age;
}
?>

In code above we create a class with name people (red) and its properties, name and age (green)

B. Method

Method in OOP can be defined as behavior or anything what can be done by object from a class. In PHP, method in class realized in function. Method can be called  as anything what can be done by object. For an example, object people could have speaking, walking and agestatus. Here's the example of implementing method in class people.
<?php
class people {
public $name;
public $age;
function speaking() {
echo "Hello, my name is $this->name and I'm $this->age years old.";
}
}
?>
in code above we create function named speaking and with content name and age.

C. Instance Object

Object is instance of class, so a class can't be used without object. To create an object in PHP we can use tag new and the code format is like this

$objectName = new className()

Look the code below, we will create an object for class people.
<?php
class people {
public $name;
public $age;
function speaking() {
echo "Hello, my name is $this->name and I'm $this->age years old.";
}
}
$objPeople = new people();
?>

In code above we create an object instance from class people name $objpeople. When run in browser, it view nothing that's because the script not contain a command to doing something at object $objpeople.

D. Set Properties

After success instancing an object, now we'll setting the properties in object. In this case we'll setting the properties name and age. To setting the properties we can use : 
$objectName->property = value;
Let's implement this to object people :
<?php
class people {
public $name;
public $age;
function speaking() {
echo "Hello, my name is $this->name and I'm $this->age years old.";
}
}
$objPeople = new people();
$objPeople->name = 'Herman';
$objPeople->age = '23';
//VIEW THE PROPERTIES VALUE DI RROWSER
echo "Name : $objPeople->name <br />";
echo "Age : $objPeople->age years old";
?>

At $objPeople->name = 'Herman'; We set the name value with "Herman" and $objPeople->age= '23'; We set the age value with "23". And to run that properties we use :
echo "Name : $objPeople->name <br />";
echo "Age : $objPeople->age Tahun";

And this is the code looks like in browser :

Picure 1. Set Properties

E. Running the Function

Here we try to call the function in PHP. In the previous case we create a funciton name speaking. Here's how to call that function.
<?php
class people {
public $name;
public $age;
function speaking() {
echo "Hello, my name is $this->name and I'm $this->age years old.";
}
}
$objPeople = new people();
$objPeople->name = 'Herman';
$objPeople->age = '23';
$objPeople->speaking();
?>

And how it's look like in browser:

Picture 2. Call the Function
To call the function we can use $objectName + "->" + functionName() + ";".

And that's all, thanks for coming, wait my next PHP tutorial.


Read More Add your Comment


PHP for Beginners, Fast and Simple Learning



To start learning PHP, you should have basic knowladge of HTML. There are 2 ways to create PHP file, which embadded script and non embadded script. Embadded script is PHP that placed in HTML script. While non embadded script is PHP script wrote without placed in HTML script. Here's the difference between embadded script and non embadded script when displaying string using echo command.

Embedded Script
<html>
<head>
<title>WebDev777.COM - Web Development Research and Tutorial</title>
</head>
<body>
<?php 
echo "WebDev777.COM - Web Development Research and Tutorial"
?>
</body>
</html>

Non Embadded Script
<?php 
echo "WebDev777.COM - Web Development Research and Tutorial"
?>

Or
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "WebDev777.COM - Web Development Research and Tutorial";
echo "</title>";
echo "</head>"; echo "<body>";
echo "WebDev777.COM - Web Development Research and Tutorial";
echo "</body>";
echo "</html>";
?>

Or
<html>
<head>
<title>WebDev777.COM - Web Development Research and Tutorial</title>
</head>
<body>
</body>
</html>

<?php
echo "WebDev777.COM - Web Development Research and Tutorial"
?>

Explanation
In embedded script, the code placed in anywhere in html script, whereas non embedded script is php script wihout html.

After knowing how to create php file, now we go to the main lesson, how to send data via POST and GET parameters. PHP has 2 method that can be used for send data from client (browser) to the server, and that they are, POST and GET.

POST method is used to transmit data from client to server where the data will sent via http header. For an example we create an input form with name forminput.php. The script is below :

<html>
<head>
<title>WebDev777.COM - Web Development Research and Tutorial</title>
</head>
<body>
<form section method="POST" action="tInput.php">
Title : <input type="text" name="title"> <br>
Editor : <input type="text" name="editor"> <br>
Publisher : <input type="text" name="publisher"> <br>
<input type="submit" value="Submit">
</form>
</body>
</html>

And this is the forms looks in browser
Picture 1. forminput.php
The script with red color using the post method to transmit data of title, editor, and publisher to tinput.php. (action = destination) that will using $_POST command to get the data sent. Because the parameters will be sent to tinput.php then we must create tinput.php.

tinput.php
<?php
$title = $_POST['title'];
$editor = $_POST['editor'];
$publisher = $_POST['publisher'];
echo "Title : <b>$title</b> <br>";
echo "Editor : <b>$editor</b> <br>";
echo "Publisher : <b>$publisher</b> <br>";
?>
 That red script used to get data that sent by client. And this is the script above looks in browser :
Picture 2 tinput.php
GET method that works with $_GET funcion will send data or communicate via parameter that wll be visible in the URL. For more detail, change the script in the forminput.php from [Method="POST"] to [Method="GET"]. And then change the script in tinput.php too, from $_POST to be $_GET. Now refresh your browser and click the submit button, the result will look like Picture 3 below.
Picture 3. forminput2.php

And that's all, thanks for coming ...


Read More Add your Comment 1 comments


HTML for Beginners, Knowing Forms (Web Design)




In the recent web design tutorial we have learnt first HTML How To Make Table and now we will learn about Forms in HTML. What is form?? Maybe you ever seen a form in real life, such at psycho test or collage registration. And for example look at a simple psycho test form below.
Picture 1. Registration Form
The registration form in picture 2 is use for collecting data from the registers. Same as picture 2 the form in website is use for collecting data that inputed from form. This is closely related with PHP and Database. So, because the function of form is use for inputing data then to create an HTML form we can use <input> tag.
<form>
input elements
</form>
In picture 2 there are option to identify the participant, like Mr., Mrs., or Ms. and the value for inputed is not charracter but check symbol. In HTML we can use checkboxes element. There are many elements in HTML form, the most common input types are described below :

Text Fields
Text Field is the most frequently used elements.
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
And this the HTML code above looks in browser:

First name:
Last name:

Password Field
<input type="password"> defines a password field:
<form>
Password: <input type="password" name="pwd">
</form>
And how it looks like in browser
Password:
The character in passfield are masked (shown as asterisks or circle)

Radio Buttons
<input type="radio"> defines a radio button. Radio buttons let a user select ONLY ONE of a limited number of choices:
<form>
<input type="radio" name="option" value="Yes">Yes<br>
<input type="radio" name="option" value="No">No
</form>
And how it looks like in browser
Yes
No
Checkboxes
<input type="checkbox"> Let a user choose more then on option.
<form>
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
</form>
And how it looks like in browser
I have a bike
I have a car
Submit Button
Submit button is used to send data to the server, data sent to the specified form action
<form name="input" action="http://apps.webdev777.com/code/sentmail.php" method="get">Email: <input type="text" name="user"><input type="submit" value="Submit"></form>
How it looks like in browser
Email:

If you type your email in the field above and click "Submit" button, you will receive an email from herman@webdev777.com


Read More Add your Comment


HTML for Beginners, How Table Make Layout (Web Design)




Many people says that HTML stands for Hyper Text Markup Language. But I have my own stands for HTML. In my experience when I begn autodidactiong HTML I learn how to make the layout. And I find the simple way to design the layout is using table tags. If you looking the web layout without fill (color and picture), you will got it. Look at the table below :

Table 1.  6 colomn and 8 rows
1/A B C D E F
2
3
4
5
6
7
8


The picture 1 shows the simple table that has 6 colomns and 8 rows. Let's make a little changing. Look at the table 2 below.

Table 2. Modify from Table 1
HEADER
LEFT SIDEBAR

In table 2, I merge all cells in the first row, so I name it Header. And then I merge 2 colomn (A, B) from second row until last row (2 - 8) and I name it Left Sidebar. After here we have build a simple layout from changing the table.

Now we try fill that table with color. Look at the table 3 below for the result

Table 3. Fill the color the table 2
HEADER
LEFT SIDEBAR
In Header I fill that with Rubber Ducky Yellow color, and In the Left Sidebar I fill that with Yellow. After here we have built a simple HTML Website. Try to modified this table with your own style. For source code you can copy the code below:

<table>
<tbody>
<tr>
<td><table align="center" border="1">
<tbody>
<tr>
<td height="40" style="text-align: center;" width="70">1/A</td>
<td height="40" style="text-align: center;" width="70">B</td>
<td height="40" style="text-align: center;" width="70">C</td>
<td height="40" style="text-align: center;" width="70">D</td>
<td height="40" style="text-align: center;" width="70">E</td>
<td height="40" style="text-align: center;" width="70">F</td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">2</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"><br /></td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">3</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">4</td>
<td height="40" width="70"><br /></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">5</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">6</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" style="text-align: center;" width="70">7</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"><div style="text-align: center;">
8</div>
</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"><br /></td></tr>
</tbody></table>
Code 1 for table 1

<table align="center" border="1">
<tbody>
<tr>
<td colspan="7" height="40" style="text-align: center;">HEADER</td>
</tr>
<tr>
<td colspan="2" rowspan="7" style="text-align: center;" width="140">LEFT SIDEBAR</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
</tbody></table>
Code 2 for table 2


<table align="center" border="1">
<tbody>
<tr>
<td bgcolor="#ffd801" colspan="7" height="40" style="text-align: center;">HEADER</td>
</tr>
<tr>
<td bgcolor="ffff00" colspan="2" rowspan="7" style="text-align: center;" width="140">LEFT SIDEBAR</td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
<tr>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
<td height="40" width="70"></td>
</tr>
</tbody></table>
Code 3 for table 3


Read More Add your Comment


 

©2013 @namakuherman | Developed by Herman Creative Industry