Saturday, May 7, 2011

PHP INTERVIEW QUESTIONS 50-60

51. List out some tools through which we can draw E-R diagrams for mysql. ?


Dbdesigner, conceptdraw etc.


52. How can I retrieve values from one database server and store them in other database server using PHP?

$db1 = mysql_connect(”host”,”user”,”pwd”) mysql_select_db(”db1″, $db1);
$res1 = mysql_query(”query”,$db1);
$db2 = mysql_connect(”host”,”user”,”pwd”, true) mysql_select_db(”db2″, $db2);
$res2 = mysql_query(”query”,$db2);
So mysql_connect has another optional boolean parameter which indicates
whether a link will be created or not. as we connect to the $db2 with this optional parameter
set to ‘true’, so both link will remain live.
now the following query will execute successfully.
$res3 = mysql_query(”query”,$db1);

53. List out the predefined classes in PHP?


Directory

The class from which dir is instantiated.

stdClass
Created by
typecasting to object.

__PHP_Incomplete_Class

Possibly created by unserialize().

Predefined classes as of PHP 5

These additional predefined classes were introduced in PHP 5.0.0.

exception
php_user_filter

Closure

The predefined final class Closure was introduced in PHP 5.3.0. It is used for internal implementation of anonymous functions.

The class has a constructor forbidding the manual creation of the object (issues E_RECOVERABLE_ERROR) and the __invoke method with the calling magic.


54. How can I make a script that can be bilanguage (supports English, German)?

1. create different files to store different languages    
eg: languages/eng.php
languages/ger.php
2. add constant variables in both the fileseg: languages/eng.php :: define('QUES','How are you');
eg: languages/ger.php :: contains define('QUES','Wie geht
es Ihnen');
3. in template page need to use the constant variable to
load the different language
eg: '<'div>'<'?php echo QUES;?>'<'/div>

4. load different files according to language request
5. ofcourse we need to use characters encoding UTF-8 in HTMl
or PHP pages.

55. What are the difference between abstract class and interface?

What is an Abstract Class?

An abstract class is a class with or without data members that provides some functionality and leaves the remaining functionality for its child class to implement. The child class must provide the functionality not provided by the abstract class or else the child class also becomes abstract.

Objects of an abstract and interface class cannot be created i.e. only objects of concrete class can be created

To define a class as Abstract, the keyword abstract is to be used e.g. abstract class ClassName { }

Example of Abstract Class

abstract class Furniture {      
private $height, width, length;
public
function setData($h, $w, $l)
{
$this->height = $h;
$this->width = $w;
$this->length = $l;
} //this function is declared as abstract and hence the function
//body will have to be provided in the child class
public abstract function getPrice();
} class BookShelf extends Furniture {
private $price; public setData($h, $w, $l, $p) {
parent::setData($h, $w, $l);
$this->price = $p;
}
//this is the function body of the parent abstract method
public function getPrice() { return $this->price; } }

Private methods cannot be abstract

If a method is defined as abstract then it cannot be declared as private (it can only be public or protected). This is because a private method cannot be inherited.

abstract class BaseClass {     
private
abstract function myFun();
}
class DerivedClass extends BaseClass {
public function myFun() {
//logic here
}
} $d = new DerivedClass(); //will cause error

What is an Interface?

An interface is a contract between unrelated objects to perform a common function. An interface enables you to specify that an object is capable of performing a certain function, but it does not necessarily tell you how the object does so, this means that it leaves for classes implementing an interface to define its behaviour.

To extend from an Interface, keyword implements is used.

We can have a class extend from more than one Interface.
interface Storable {         
function
getContentsAsText();
}
class
Document implements Storable {

public function getContentsAsText() {
return "This is Text of the Document\n";
}

}
class
Indexer {
public function readAndIndex(Storable $s) {
$textData = $s->getContentsAsText(); //do necessary logic to index

echo $textData;
}
}
$p = new Document();
$i = new Indexer();
$i->readAndIndex($p);
In the above example, Document and the Indexer class are two independant classes. The Indexer class is designed to index the contents of any text. Using the Storable interface above, we declare a method getContentsAsText() in the Document class. Because the Indexer class is only concerned with the TEXT, hence we can call getContentsAsText() method on the object of Document. This way any class if it implements the method getContentsAsText() can get indexed

Difference between Abstract Class and Interface

Abstract Classes

An abstract class can provide some functionality and leave the rest for derived class

The derived class may or may not override the concrete functions defined in base class

The child class extended from an abstract class should logically be related

Interface

An interface cannot contain any functionality. It only contains definitions of the methods

The derived class must provide code for all the methods defined in the interface

Completely different and non-related classes can be logically be grouped together using an interface

Subscribe below for article updates


56. How can we send mail using JavaScript?


function myfunction(form)

{

tdata=document.myform.tbox1.value;

location=?mailto:dep7abc@leeds.ac.uk?

subject=?+tdata+?/MYFORM?;

return true;

}


57. How can we repair a MySQL table?

REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE  tbl_name[, tbl_name]. [QUICK] [EXTENDED]
[USE_FRM]


REPAIR TABLE
repairs a possibly corrupted table. By default, it has the same effect as
myisamchk --recover tbl_name

58. What are the advantages of stored procedures, triggers, indexes?


1.Advsntsge of Stored Procedures:

Stored Procedures are precompiled one.

it is the group of sql statements.

stored procedure like a application programming.

stored procedure is a fast one because it is already precompiled.

stored procedure is the one is easy to maintain.


2.Advantage of Triggers:

Triggers is a special kind of procedure, the Main advantage of the trigger is automatic.

whenever the table affected by insert update or delete query that time the triggers will implicitely call.


3.Advantage of Indexs:

The Main advantage of the indexes is speed.

if the table having the indexes while selecting or filtering the row(s) 0r columns(s) ,the execution time very fast. but, if you use the indexed table the insert update and delete will be slow.


59. What is the maximum length of a table name, database name, and fieldname in MySQL?

Database: 64 
Table: 64
Column: 64
Index: 64
Constraint: 64
Stored Function or Procedure: 64
Trigger: 64
View: 64
Compound Statement Label: 16

60. How many values can the SET function of MySQL take?


MySQL SET function can take zero or more values, but at the maximum it can take 64 values.

No comments:

Post a Comment