likelihood high
This is usually a pretty open ended question. You should understand
classes (objects are instantiated classes), abstract classes,
interfaces, methods, properties,inheritance, multiple inheritance as
well as why OOP is helpful as compared to procedural programming.
http://net.tutsplus.com/tutorials/php/object-oriented-php-for-beginners/
likelihood high
Interfaces do not contain business logic, only
method signatures that define a template that any classes implementing
the interface must contain.
Lets take an auto mobile for example. If we were to create and interface
for a car we would want to define a few methods like drive, stop, turn
left , turn right. This mean that any vehicle that is a car (aka
implements the interface car) must have methods for these things, If
they do not PHP will throw an error. So if your car is an BMW , Honda or
Ford it must be able to stop. How it stops is up to each car (or PHP
class) but it must be able to stop. Technically we can decided not to
use an interface for cars, but then some types of cars are not forced to
have a "stop" method.
likelihood high
Most programmers know this, but interviewers will likely
look for a deep understanding of MVC, and some explanation or examples
on how/why/ when you used it.
MVC- Model, View, Controller - is simply a way of organizing your code into 3 separate layers each with there own jobs.
Model - Usually contains data access code and all of you business logic code.
View - Contains markup/design code, generally html,xml, json.
Controller - Usually contains very little code, just whatever is needed to call the Model code and render the View code.
MVC- Model, View, Controller - is simply a way of organizing your code into 3 separate layers each with there own jobs.
Model - Usually contains data access code and all of you business logic code.
View - Contains markup/design code, generally html,xml, json.
Controller - Usually contains very little code, just whatever is needed to call the Model code and render the View code.
http://www.symfony-project.org/book/1_0/02-exploring-symfony-s-code
likelihood high
A PHP session cookie is set in the clients browser, on every request the
client sends that cookie to the server. PHP then uses that cookie to
select the corresponding session information. By default PHP
session_start() will store session data in files, you can also store
sessions in a database.
http://www.php.net/manual/en/function.session-start.php
likelihood high
There are a number, but the big ones people are looking for are:
a. PHP 5.0 realised the object model (AKA OOP).
b. 5.1 added PDO - for accessing databases.
c. 5.3 - added namespace support and late static bindings.
a. PHP 5.0 realised the object model (AKA OOP).
b. 5.1 added PDO - for accessing databases.
c. 5.3 - added namespace support and late static bindings.
http://en.wikipedia.org/wiki/PHP#Release_history
likelihood high
This is a great question because an interviewer can tell how deeply you
understand HTTP and the request/response. If you don't have good
understanding of HTTP protocol, google around and get a grasp on it.
Good answer
Explain the HTTP protocol and how every request contains a method, generally(GET,POST,PUT,DELETE) and what each method signifies.
Bad answer
$_GET stores variables passed in url as query strings. $_POST stores variables past from using method = $_POST
Good answer
Explain the HTTP protocol and how every request contains a method, generally(GET,POST,PUT,DELETE) and what each method signifies.
Bad answer
$_GET stores variables passed in url as query strings. $_POST stores variables past from using method = $_POST
http://djce.org.uk/dumprequest
likelihood medium
public, private and protected. The default is public.
Public -> Any class may instantiate the class and call the method or property.
Protected -> Only the class itself or inherited (children) classes may call a method or property.
Private -> Only the class itself may call a method or property.
Public -> Any class may instantiate the class and call the method or property.
Protected -> Only the class itself or inherited (children) classes may call a method or property.
Private -> Only the class itself may call a method or property.
http://php.net/manual/en/language.oop5.visibility.php
likelihood medium
Don't get scared by the big word. It's simply the idea that one object
can can take on many forms. So in PHP OOP one class "cars" may have two
classes that extend it, for example a "Honda" class and a "BMW" class.
http://stackoverflow.com/questions/210460/try-to-describe-polymorphism-as-easy-as-you-can
likelihood medium
They are trying to gauge your understanding of how class auto
loading works. Review the "autoload" and "spl_autoload_register"
function (note:you should us the later). The autoload function
basically triggers a function when a class is instantiated, you can put
whatever logic you like in it but generally you want to include the
class file based on some sort of naming convention.
http://www.php.net/manual/en/function.spl-autoload-register.php
likelihood medium
$wed= 1; $day = ($wed==1) ? 'today' : 'tommorrow'; // $day is now set to 'today'Companies often ask about the ternary operator (?). which is simply a shorthand for if else statements.
http://davidwalsh.name/php-shorthand-if-else-ternary-operators
likelihood medium
"::" double colons is the scope operator it is used to call methods
of a class that has not been instantiated. You should also understand
static methods and how they differ from regular methods.
http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php
http://php.net/manual/en/language.oop5.static.php
http://php.net/manual/en/language.oop5.static.php
likelihood medium
Design patterns are simply commonly used techniques within your code,
they often are implemented in different ways so they can be a bit tricky
to grasp without writing them yourself. If you are unfamiliar with
them I would start by learning the Singleton Pattern and the Strategy
Pattern.
http://www.ibm.com/developerworks/library/os-php-designptrns/
likelihood medium
Great answer at below link.
http://stackoverflow.com/questions/3446216/difference-between-single-quote-and-double-quote-string-in-php
likelihood medium
Makes it so PHP does not output anything.
Companies ask this because many large frameworks wrap a bunch of code in
ob_start() and ob_get_clean(). So understanding how that function
works is pretty important.
http://myphpsource.blogspot.com/2010/01/obstart-save-php-output-to-string-php.html
likelihood medium
'&' indicates a reference
http://schlueters.de/blog/archives/125-Do-not-use-PHP-references.html
likelihood medium
Final keywords indicates that the class or method cannot be extended.
http://php.net/manual/en/language.oop5.final.php
likelihood medium
No. You should understand what multiple inheritance is.
http://en.wikipedia.org/wiki/Multiple_inheritance
likelihood medium
Magic methods are basically triggers that occur when particular events happen in your coding.
__GET, __SET are magic methods that are called (behind the seen) when you get or set a class property.
http://php.net/manual/en/language.oop5.magic.php
likelihood medium
This is basically a trick questions. To understand how
they are passed you need to understand how objects are instantiated.
Study the below link:
http://ca2.php.net/manual/en/language.oop5.references.php
likelihood medium
$$var sets the value of $var as a variable.
$day='monday'; $$day='first day of week'; echo $monday; //outputs 'first day of week'
Comments
Post a Comment