Showing posts with label PHP. Show all posts
Showing posts with label PHP. Show all posts
September 30, 2012
September 20, 2012
PHP MVC Part - I
MVC:
Model
View
Controller
What is MVC?
MVC is a way of coding. how do we distribute functions/classes/files.
What MVC is not ?
MVC is not any programming language, rather it is a framework/architecture/design schema.
MVC architecture, we can implement in PHP, JAVA, C# and also JavaScript
Analogy:
1. How do you keep things in your kitchen. ?
2. We can keep all tools and utilities scattered on one table - ( No Pattern )
3. We can keep tools categorized by use. i.e. knife,spoon in one box, Plates near sink - ( some pattern )
Real world example:
1. We have to build Book Store
2. We need to add/remove books
3. Show users list of books
4. Registered user can see preview
Here, we have some logic, lets call them, business logic:
i.e. add/remove books:
Also, we have some-thing to show user
i.e. List of books
Also, we have one rule
i.e. Registered user can see preview
All classes/functions of business logic, we can call: MODEL
All classes/files which helps to render product list, we can call:VIEW
All classes/files/functions which helps to decide/implement rule, we can call: CONTROLLER
Technically:
Model: Encompasses business logic ( Mostly base classes )
View: Helps to present/render data ( Mostly template files + classes which helps to render )
Controller: Helps to decide some rule. like, which page to render, which page not to render
Prime Example of MVC architecture:
Zend
Magento - way to complex to understand
End of part one.
Cheers!!
Model
View
Controller
What is MVC?
MVC is a way of coding. how do we distribute functions/classes/files.
What MVC is not ?
MVC is not any programming language, rather it is a framework/architecture/design schema.
MVC architecture, we can implement in PHP, JAVA, C# and also JavaScript
Analogy:
1. How do you keep things in your kitchen. ?
2. We can keep all tools and utilities scattered on one table - ( No Pattern )
3. We can keep tools categorized by use. i.e. knife,spoon in one box, Plates near sink - ( some pattern )
Real world example:
1. We have to build Book Store
2. We need to add/remove books
3. Show users list of books
4. Registered user can see preview
Here, we have some logic, lets call them, business logic:
i.e. add/remove books:
Also, we have some-thing to show user
i.e. List of books
Also, we have one rule
i.e. Registered user can see preview
All classes/functions of business logic, we can call: MODEL
All classes/files which helps to render product list, we can call:VIEW
All classes/files/functions which helps to decide/implement rule, we can call: CONTROLLER
Technically:
Model: Encompasses business logic ( Mostly base classes )
View: Helps to present/render data ( Mostly template files + classes which helps to render )
Controller: Helps to decide some rule. like, which page to render, which page not to render
Prime Example of MVC architecture:
Zend
Magento - way to complex to understand
End of part one.
Cheers!!
September 14, 2012
PHP MVC Singleton pattern
What is Singleton pattern ?
- A simple design schema, in which, we instantiate object only once in a page life cycle.
Explanation with analogy.
- Lets say, you went to restaurant and ordered 3 types of Soup.
- Each Soup comes up with Bowl + Spoon
- Now, you have 3 spoons.
- Normal pattern : you use 3 spoons for each bowl
- problem in that: wastage of 3 spoons
-Singleton pattern: each time, you use: same spoon to drink soup.
- Thats it.
Real-time example:
- DB Object.
- We invoke DB object in page life cycle only once.
- Each time, we need to run query, we use same object.
Example with code:
}
Seems so easy :)
cheers!!!
- A simple design schema, in which, we instantiate object only once in a page life cycle.
Explanation with analogy.
- Lets say, you went to restaurant and ordered 3 types of Soup.
- Each Soup comes up with Bowl + Spoon
- Now, you have 3 spoons.
- Normal pattern : you use 3 spoons for each bowl
- problem in that: wastage of 3 spoons
-Singleton pattern: each time, you use: same spoon to drink soup.
- Thats it.
Real-time example:
- DB Object.
- We invoke DB object in page life cycle only once.
- Each time, we need to run query, we use same object.
Example with code:
class db{
publis static $_instance;
public static _getInstance(){
// Lets check, do we have object already instantiated ?
if(self::$_instance){
// return already instantiated object
return self::$_instance
}
else{
// else instantiate and return object
return self::$instance = new db();
}
}
}
Seems so easy :)
cheers!!!
Subscribe to:
Posts (Atom)