2011-01-01 5 views
0

Я новичок в php и задаюсь вопросом - возможно ли инициализировать класс с параметрами? как $obj = new myClass('myID');php newbie question: classes

Я пробовал, но это дало мне ошибку.

Возможно, кто-то может указать мне на некоторые хорошие уроки.

благодаря

+0

Нам нужен код для вашего класса. –

+0

+1 для кода, а также за конкретное сообщение об ошибке, которое вы получаете. Что касается учебных пособий, то поиск в Google по «PHP Intorduction to Classes», «введение в OOP PHP» и «PHP-ориентированное учебное пособие» дает набор руководств, из которых можно выбирать. – RobertB

ответ

3

Да, вы должны передать переменные через конструктор:

class SomeClass 
{ 
    function __construct($some_var) 
    { 
    } 
} 

Обратите внимание, что в более ранних версиях PHP конструктор должен иметь имя класса, он __construct() с php 5.

+0

Имя класса в PHP4 ('функция SomeClass ($ someVar)') и, как вы сказали для PHP5. Старый PHP4-код будет работать в PHP5, если __construct не найден в определении класса. – RobertB

+0

@RobertB, спасибо, я просто редактировал ответ сам. – jeroen

+0

Просто для полноты - с PHP 5.3.3 использование имени класса в качестве конструктора не будет работать в определенных ситуациях с именами, поэтому лучше не делать этого вообще (например, для прямой совместимости). См. [Эту страницу руководства] (http://us2.php.net/manual/en/language.oop5.decon.php). – GZipp

3

Да, вам нужно использовать конструктор класса.

Пример:

<?php 

class ClassWithArgs 
{ 
    function __construct($argument1, $argument2) 
    { 
    echo "arg 1 = $argument1\n"; 
    echo "arg 2 = $argument2\n"; 
    } 
} 

$object = new ClassWithArgs('one', 'two'); 

?> 

Результат

arg 1 = one 
arg 2 = two 

Я предлагаю вам также взглянуть на документацию PHP5 ООП, она включает в себя простые примеры, чтобы вы собираетесь: http://php.net/manual/en/language.oop5.php