Magento Interview Questions

PHP Interview Questions And Answers

1) What are the different types of Errors in PHP?

There are three basic types of runtime errors in PHP:
1. Notices: These are small, non-critical errors that PHP encounters while executing a script - for example, accessing a variable that has not yet been defined. By default, such errors are not displayed to the user at all - although the default behavior can be changed.
2. Warnings: Warnings are more severe errors like attempting to include() a file which does not exist. By default, these errors are displayed to the user, but they do not result in script termination.
3. Fatal errors: These are critical errors - for example, instantiating an object of a non-existent class, or calling a non-existent function. These errors cause the immediate termination of the script, and PHP's default behavior is to display them to the user when they take place.

2) Why Magento use EAV database model ?


In EAV database model, data are stored in different smaller tables rather than storing in a single table.

product name is stored in catalog_product_entity_varchar table
product id is stored in catalog_product_entity_int table
product price is stored in catalog_product_entity_decimal table

Magento Use EAV database model for easy upgrade and development as this model gives more flexibility to play with data and attributes.

3) What is the difference between Mage::getSingletone() and Mage::getModel() in Magento


Mage::getSingletone() always finds for an existing object if not then create that a new object but Mage::getModel() always creates a new object.